...but let me say this right away: coding was never the most valuable part of software engineering.
I remember when I was a junior software dev. Nothing came easily to me. Every feature felt like an uphill battle. I can't even count how many hours I spent digging through Stack Overflow. And then there was the stress of PR reviews, where I sometimes got absolutely roasted in the comments (rightfully so!) 😅
Eventually, things started getting better and better. Shipping features took me less time, and there were fewer comments on my pull requests. Over time, I started handling more complex things, including architecture. I could choose the right solution, explain why a particular tool or design pattern made sense, and defend my decisions.
And I loved being good at coding. Domain knowledge or architectural concerns? Those were somewhere in the background.
The longer I worked as a developer, the more complicated the problems became, and the less they had to do with coding itself.
I stopped getting excited about every new framework feature. In fact, whenever I heard about another "revolutionary" solution, my first thought became something along the lines of: "Yet another state management solution..." (I'll probably write a whole article about that someday.)
Eventually, I ended up where every tech lead eventually ends up: spending most of my time thinking things through, sitting in calls, and getting people to agree on things, while handing coding tasks to juniors and mids. Much to their delight, actually, because they're happy to get a chance to learn something new.
Fortunately, I still code quite a lot, but these days it's usually the more horizontal stuff or the technically difficult features.
I was genuinely happy about it! I'm not crying over the fact that I no longer have to handcraft every precious little piece of artisanal code myself. I didn't particularly want to anyway.
@nazar-boyko recently asked in his article, "Has AI Made You A Lazier Developer? Be Honest." I answered honestly: no. Quite the opposite. AI has made me less lazy. I do more because I don't have to spend as much time on the most boring part: writing redundant code.
And in my opinion, AI is already better at shipping code than most software developers.
There is actual research behind this, some of which I've linked at the bottom of this article, so you can check that I'm not just making things up. 😉 The research shows that AI can dramatically accelerate coding and that frontier AI agents can already complete some coding tasks that would take humans days or even weeks.
And we often see this in our own work. AI doesn't get tired. It doesn't get stressed. It doesn't get distracted. It doesn't have a "bad day." (Okay, sometimes I swear it does )
And let's face another uncomfortable truth: there are better and worse developers.
I know that's not particularly pleasant to say, but it's simply true. Some people are better at cooking. Some are better at singing. Some are exceptional at coding. And some are... a little less exceptional.
Sometimes I get the impression that here on DEV, we treat programmers as some kind of meritocratic class of geniuses. As if every developer, by definition, possesses an extraordinary set of irreplaceable skills. But everyone who has spent enough time in this industry knows that's simply not true.
And AI might actually level the playing field here. A developer who isn't an exceptional coder but is responsible, understands the product really well, makes good decisions, and knows what needs to be built can now go incredibly far.
There's just one small, tiny detail. Something we intuitively understand, and something the research I've linked below also hints at: The further the job moves away from simply generating code, the less spectacular the machine's advantage over humans becomes.
