A picture of me with my dog Tess next to me looking at me

AI Can Write Your Code. It Can’t Do Your Job.

Programming is a task. It’s one of many things you do as part of your work. But if you’re a software engineer, your actual job is more than typing code into an editor.

The mistake people make is conflating the task with the role. It’s like saying calculators replaced accountants. Calculators automated arithmetic, but arithmetic was never the job. The job was understanding financials, advising clients, making judgment calls, etc. The calculator just made accountants faster at the mechanical part.

You mean I'm not an astronaut because I played Kerbal Space Program? Tools are good an all, but you need the knowledge to wield the tools.

the one who figures out what they actually need. You look at a codebase and decide which parts to change and which to leave alone. You push back on a feature request because you know it’ll create technical debt that’ll haunt the team for years. You review a colleague’s PR and catch a subtle bug that would’ve broken production. You make a call on whether to ship now or wait for more testing.

None of that is programming, but it’s all your job.

Knowing how the code of large projects all works together is something that is so hard to fully grasp. Things that might seem simple or even unrelated can be so easily missed, the experience we have as developers to consider how software should function is so incredibly important.

But different isn’t dead. The engineers who will thrive understand that their value was never in the typing, but in the thinking, in knowing which problems to solve, in making the right trade-offs, in shipping software that actually helps people.