The identity crisis of the modern software engineer
Code ships while you sleep. Agents refactor while you make coffee. Pull requests appear that no human touched.
AI tools are here. They are capable. And they are improving faster than you form opinions about them. And yet, beneath all the hype, the hot takes, the doomer essays, there is this one thought I keep coming back to lately.
“My work is fundamentally changing. And I am not sure how I feel about it.”
That feeling does not slow anything down. It just sits there while everything else accelerates.
The tools are incredible. They remove friction. They compress time. They give developers leverage.
But when friction disappears, so does part of what made the work feel earned.
So answer this honestly. Is the future where you orchestrate machines all day the future you actually wanted when you started writing code?
In my view, engineers are moving in two directions. Up the stack. Or down the stack.
The middle is thinning out.
By middle, I mean the layer where the job is translating tickets into the same code you wrote last quarter. Wiring APIs. Writing CRUD endpoints. Gluing known pieces together. Building that settings page for the fiftieth time in your career. Stitching together auth flows you have implemented so many times you could do it in your sleep. That is exactly where LLMs shine. Spitting boilerplate without boredom.
Last week, I rambled a description of a complex feature to an agent. It returned a working implementation that would have taken me a full day. It was not perfect, but it was 80 percent there in ten minutes. I sat looking at the diff and could not decide if I felt relieved or redundant.
So what is left?
Up the stack, you become the orchestrator.
You step into messy codebases you did not write. You define scope in ambiguity. You decide what to build and more importantly what not to build. You choose trade-offs with incomplete information. You own outcomes, not pull requests.
Agents generate options. Draft features. Suggest refactors. Spin up scaffolding. You are not typing most of the code. You are steering it.
You become a product-oriented builder who can land in any battlefield and steer an army of agents toward a business goal. You talk to customers to solve their needs. A generalist in the deepest sense. Breadth with taste.
Or you go down the stack. And you specialize. Deeply.
Performance. Security. Distributed systems. Hardware. You name it. The places where memory leaks and details matter.
Agents still help. They probe for vulnerabilities. Suggest optimisations. Rewrite code into faster languages. But they do not know what matters without you.
They do not feel the latency spike. They do not understand the architectural issues like you do. They do not know which improvement justifies the effort.
Your edge is accumulated intuition and years of knowing where and what to look for.
Is it a binary choice? No. Will it all look different in a year? Probably yes.
But pretending the middle stays untouched feels naive.
You have probably heard predictions that your job will disappear in six months. Those predictions have been repeated every six months for two years now.
Yet software keeps expanding. And demand for engineers keeps growing.
When it becomes easier to build software, we build more of it. Startups spin up five internal tools instead of one. Solo developers ship products that once required full teams. Enterprises automate everything they can touch.
And everyone who has built software knows the hidden truth. Every new repository is a future liability.
AI helps you build faster. It also helps you generate future maintenance faster. You do not eliminate complexity. You multiply it.
Bots will help maintain it too. But what happens when you are maintaining twenty systems instead of three? When every team can generate solutions on demand? When experiments become permanent?
That is hyperspeed development.
More tools. More projects. More noise. More slop.
But also more impressive systems. Highly polished products. Systems that would have been impossible for small teams and individuals just a few years ago.
This is not only a tooling shift. It is also an identity shift.
If coding was your craft, what happens when typing code is no longer the bottleneck? If you loved being the person who knew how to build things from scratch, what happens when nothing is hard to build?
Some days it feels like superpowers. You move faster than you ever thought possible. You build things that would have taken weeks. You feel like you are finally free from the tedious parts.
Some days it feels like something slipping away. The mass of knowledge that made you you as an engineer. The thing you were proud of. The thing that felt earned.
Both feelings are true. They do not cancel each other out. And while navigating our feelings, we also need to navigate the changing landscape.
So what is next for you?
Are you becoming the orchestrator, steering an army of agents toward outcomes? Are you becoming the specialist, going so deep that agents cannot follow? Or are you unplugging the LLM and becoming a trad coder, on purpose, because you value the craft itself?
A year from now, the landscape will look different again. The question is whether you'll have moved, or just watched.