Nobody argues anymore about whether AI can write code. That debate is over, and it ended quietly. It writes code every day, in my team too. Most of the lines that went to production through my hands this month were not typed by me. I described, the agent wrote, I reviewed, I shipped. This is just how the work is now.
I see a lot of pain online about this. Developers feeling that something was taken from them. And I want to write honestly about why I do not feel that pain, and also why I do not judge the people who feel it.
A confession
Here is my confession, and it took me some years to be comfortable saying it out loud. I always liked writing code. I really did. There is a small pleasure in a clean function, in a test going green, in a refactor that makes a file readable again. Two decades of that pleasure, I will not pretend it was nothing.
But I never put my feelings into the act of writing code. Let me be precise, because these are two different things. I have real care for what I build, I want it solid, clean, something I can stand behind. That is craftsmanship, and I have it. What I do not have is attachment. The code is not me. Code was always my tool, never my mirror. When I looked at something I built, the pride was not “look how I wrote this.” The pride was “look what this does for someone.” I have watched many developers blur this line, and you can see it in code review. They tie their identity to their code, so a comment on a pull request lands like an insult, and they get angry at feedback that was only ever about the work. I am not saying my way is better. I am saying it is mine, and knowing it early shaped my whole career.
Maybe it comes from how I started. I co-founded my own company in Brazil in 2006, and when you run a small company, the client does not pay for your elegant abstractions. The client pays for the thing that works on Monday. That lesson entered my bones before any book about craft did.
The craftsmen I worked with
Through my career I worked with developers who were truly obsessed with code. The craft people. The ones who could debate a name for twenty minutes, who felt physical discomfort near a bad abstraction, who read language specs for fun. I learned a lot from them, sometimes by agreeing, sometimes by friction.
Those moments of friction gave me my best reflections about what kind of developer I am. I remember long review threads that were really identity battles dressed as style discussions. I wrote about that years ago in code review and ego, and the lesson stayed with me. When someone defends a code style like they are defending their honor, the conversation is not about code anymore.
I also remember the optimization debates. Smart people polishing a loop that ran once a day, while the feature the client begged for sat in the backlog. That pushed me to write about premature optimization and Knuth’s old warning. Every one of those episodes was a small mirror for me. I would watch the passion, respect it, and notice that my own passion lived somewhere else.
Where my passion actually lived
It lived in the product. In the business. For all those years, the question in my head was never “is this code beautiful.” It was “does this ship value, does this help the client, does it make or save money.” At my own company, the question was direct, will this make the client renew. At Benevity, will this move more donations with less friction. Now at Mawer, will this help the investment team make better decisions with less risk.
Code beauty matters to me only as far as it serves those questions. Clean code is cheaper to change, so I want it clean, but as economics, not as poetry. I know this sounds cold to some ears. It is not cold. It is just a different place to keep the warmth.
So AI is good news for me
This is why the current moment feels like good news in my house. The machine took over the part of my job that I liked but never was. And it left me with the parts that I actually am.
Understanding the problem. Sitting with stakeholders and hearing what they need behind what they say. Designing the solution, the boundaries, the trade offs. Writing the spec that points all this power in the right direction. Reviewing with care, because speed without checking is just risk with good marketing. Protecting the value of what we deliver.
The bottleneck was never typing. It was thinking. I said this before on this blog and the last two years only confirmed it. When typing became almost free, the value of clear thinking went up, not down. For someone who always invested in the thinking side, this is the best exchange rate of my career.
Alan Kay said, in many different ways, that the point was never the software itself. Software is a means. The end is what it does for people, how it extends what humans can do. I held that view through every hype cycle, sometimes feeling like the boring guy in the room. Now the industry is being pushed, hard, to the same conclusion. When code is cheap, the only thing left to sell is understanding.
No judgment, truly
I want to close with care, because it is easy to read this post as a victory speech, and it is not one.
If you are a developer who loves the craft for the craft, who feels the loss of the writing itself, I do not judge you at all. Your love for the details made the systems I built on top of. The industry needs people who care about how things are made, today maybe more than ever, because someone has to look at the ocean of generated code and hold the quality line. Kent Beck has been writing with honesty about rethinking his own value in this new world, and I admire that more than any hot take.
And I admit my comfort has some luck in it. The wave happened to hit the part of the job I cared least about. If a machine tomorrow gets better than me at understanding stakeholders, I will be the one writing the sad post, and someone else will be fine. We do not choose which skills the future makes cheap. There is no virtue in being lucky.
But if you are like me, a product minded developer who always cared more about the problem than the keyboard, then I will say it plainly. This is the best moment in decades to be what we are. The thing we were always told was the soft part, talking to people, framing problems, judging value, turned out to be the hard part all along. The market just took two years to notice.
The machine writes the code now. I describe, I review, I decide, I answer for it. My name was never in the keystrokes anyway. It was in the outcomes. Still is.
Pax et bonum.