The Death of a Software Craftsman (it happens a lot 'round here)
https://naildrivin5.com/blog/2026/02/23/the-death-of-the-software-craftsman.html
AI Abstinence? All in on Agents? Or resign yourself to becoming a niche craftsperson?
The Death of a Software Craftsman (it happens a lot 'round here)
https://naildrivin5.com/blog/2026/02/23/the-death-of-the-software-craftsman.html
AI Abstinence? All in on Agents? Or resign yourself to becoming a niche craftsperson?
@davetron5000 I hate this timeline. I left corporate tech in 2021, and it would have been hard enough to return had not this rug-pull pulled this particular rug. Now I can only code on passion projects or grant-funded work I guess.
I still care about code. Writing code is transformative, and I don't want to lose that. So for me, I guess it's option 3: Embrace Tradition. (But I'm still not calling myself a "craftsman".)
@CoralineAda I have been a depressive haze for the last few months because of this. I'm not sure if writing this post helps, but I think it does. Though still not sure what this means for me personally.
Craft{er,sman,sperson} - I don't love the term, but "maker" doesn't seem right to me, nor does "artisan", but maybe it's just "coder"?
@jaredwhite @CoralineAda @davetron5000 iirc very early versions of rails docs had examples of a "David" whose job was "code poet"
I thread this particular needle by changing the noun to a verb, which, not coincidentally, helps separate action from identity: I write software. I clean up messes. I help the people around me learn to do those things.
@davetron5000 “Professional” is right there.
Anyone proactively deskilling themselves by feeding at the slop bucket is behaving unprofessionally—never mind unethically and engaging in class war against their fellow laborers—and should be considered thusly.
@jgarber I dunno, "professional" as something like "accredited" (like in real engineering) would be nice, but since there is no accreditation it feels too ambiguous (esp when a more general definition is just "gets paid").
NGL, I have a feeling the end state will be "engineer" == "writes markdown for AI" and "coder" == "writes code the old fashioned way" and the class-distinctive difference of those two words would not be an accident :(
@davetron5000 I went through a similar haze, which ended in late December for me. It's really hard to describe in a few words why the following doesn't match the experience I have with LLM-augmented coding using certain tools (not most!):
> “coding” by writing Markdown and feeding it to a compiler that sometimes works and sometimes doesn’t until I ask it nicely to do what I need.
Instead, it feels more like a weird form of rapid-fire software design iteration, like whiteboarding but in code.
I read "All content on this page was created without any assistance from a Generative AI" to mean the opposite of what you intended, heh.
Long time GLI user. <3
@davetron5000 In one of my projects I've gone so far as to give it access to the source code of:
- ruby
- concurrent-ruby
- minitest
- minitest/mock
- crossterm
- ratatui
- steep
- rbs
- magnus
- rb-sys
It doesn't dive into any of them often, but it's *really* helpful when it needs to (or when I decide it needs to, saying "prove it!")
@kerrick I guess. It could just as easily mislead imo.
And there remains the problem that it still goes down dumb deadends because of training data lag - recently I’ve seen complaints about minitest mocks being extracted and how it repeatedly tried to remove the (correct) mock dependency because the training data thought it was integrated. It is frustrating that it is a seemingly inevitable side-effect of how it works that it repeats bonehead errors like that