I feel an immense sadness. I’m grieving the loss of a pillar of my self-identity: my career as a software developer. Although I’m not sure if this grief is rational, or whether software development is really doomed for good. But it’s clear that a shift has happened, both in the industry and in me.
Using generative AI for software development was not something I took seriously until 2026. All models I used prior to this year were at best naive and at worst deceptive and harmful. However, there’s a reason the whole industry echoes the same thing: something changed in January 2026.
It was February when I decided to give Claude a try. The reason was not technical but based on fear. I was vocally against using LLMs for coding at my $work and I was afraid that I’d be the first one to be let go as more and more managers started to push people to “leverage” AI in their day-to-day work. As a technical leader in my team, I decided to align myself with the company’s wants and approach the problem with an open mind. I was caught in a Batesonian double bind: “you must be more productive and therefore you must use AI, but only do it because you want to.”
The more I used an agent to generate code, the more I became dependent on it. It made me lazier in execution and at the same time more ambitious in scoping. The bar for “good enough” has risen while the timeline to achieve it has shrunk. I don’t know what hit me recently but this week I realized the same shift that I saw in the industry in January has happened in me. Today I sadly confess that I think using AI agents to write code is integral to my work. L.A. Paul calls this a transformative experience: a leap of faith, because you don’t know who you are going to be on the other side. You have to actually be changed before you can know.
I feel embarrassed to admit this. I want to justify myself to you, anonymous reader, by saying that “I don’t enjoy this but it’s necessary for my survival because I have bills to pay and people to provide for.” I know this is how Moloch speaks. I know that I’m tangled in the Molochian trap.
My work was the primary source of satisfaction for the last 10 years. I loved building things, I liked working with others to achieve something great. Now the work feels alienating. The code that I only wrote 10% of—where I understand 90% of what’s going on, knowing the remaining 10% is the most important part—makes me nauseous. I feel like a phony pretending to be an engineer.
Writing this made me remember a blog post that I wrote at the end of 2017 on “adaptation and self-identification”. I wrote that as a meditation on an old lady who worked in a modest tea shop near our college; the shop later turned into a third-wave-ish coffee place. The lady who had been serving tea before started pulling espresso shots and frothing milk. What was surprising was that the coffee was decent! I used her as an example of the human capacity for adaptation but I also asked the question: is adapting to externally enforced changes always a good thing?
Eight years later, I’m at the point 22-year-old me was suspicious of: It’s time to accept that the world of software engineering has changed. I find myself in the dilemma of adaptation:
- If I don’t change, if I try to remain the same, I’m going to disappear.
- If I do change, in a certain sense I’ve also disappeared because now I’m something else.
Setting aside the existential risk from AI, I don’t think software engineering as a discipline is going to disappear anytime soon. But surviving this change will require us to change drastically, and engineering as the profession we’ve known until now is going to disappear. I feel like I’ve already been disappeared.