I started my career in the late 2010s, and I have had a front-row seat to the growth of the industry that has given me everything: software engineering.
Looking back over the last decade, I have mixed feelings about some of the calls I made. And I am seeing the same patterns play out again now. So for engineers who are confused about where this is headed and how to navigate it, here is how I think about it.
Generalist SWEs were a product of cheap money
The late 2010s, I saw an huge amount of startup funding, globally. Flipkart, Snapdeal, Jugnoo, and hundreds of others were scaling hard and one hiring pattern I saw was that: everyone wanted generalist software engineers. People who could easily get upto speed across the stack.- backend, frontend, infra, deployment and simply ship.
Building software was expensive. Automation was still low. Kubernetes had just gone mainstream. Shipping still meant a surprising amount of manual work: SSH-ing into servers, copying artifacts around, running mvn builds by hand, debugging deployments straight in production, duct-taping infrastructure that today you would never touch.
Companies fought over engineers who maximized feature throughput. Breadth was a premium, because every extra engineer increased the rate at which software got built. It helped because the money was also free and VCs rewarded growth over efficiency, and hiring software engineers in bulk was the easiest way to spend it.
Pull up a resume from an engineer who started around that time and you will usually see the same shape: a long list of technologies and frameworks, broad and adaptable, but rarely deep in any one thing. There was no incentive to go deep.
LLMs Changed The Dynamics
LLMs did not kill software engineering. It compressed the cost of implementation. The work that got hit first was the work that was already standardized: CRUD apps; API integration and glue code; Framework-heavy backend work; Frontend scaffolding; Standard architectural patterns.
What used to take a team can now is being done by a 2-member team and AI. That is why implementation-heavy roles are becoming low-leverage work.
If your main value is stiching systems out of known frameworks and well-understood patterns, you are now competing with AI-assisted developers, technical PMs, founders, and small teams that hit the same outcome with a fraction of the headcount. Some of what feels like an AI correction is just the cheap-money era ending. Both are happening at once, and it is easy to blame all of it on AI.
Repricing of the Middle Layer
I don’t think software engineering is disappearing. I think the market is repricing it. For years it rewarded implementation throughput. Engineers that were able to move fast and build stuff are becoming obselete overnight. These are large middle—implementation-heavy generalists whose value was mostly shipping software built from known patterns.
The distinguished engineers sit above this collapse because their value was never implementation bandwidth in the first place; it was depth, judgment, and ownership. The middle layer never had any moat.
That is where I see the real identity crisis. A lot of these engineers built genuinely successful careers in a market where implementation itself was scarce. AI took that away almost overnight.
Expertise is getting more valuable
As implementation gets cheaper, expertise gets more valuable. Not generic expertise. Deep expertise in domains where correctness, latency, safety, or operational complexity dominate.
Even the senior Java engineer with fifteen or twenty years in isn’t valuable because of Java. They are valuable because they have spent years debugging distributed failures, running mission-critical systems, learning failure modes the hard way, and making architectural trade-offs under real production pressure.
It is not prompting but it’s judgment earned through experience, not code generation.
Where I think this goes
Like a lot of people, I have spent time building AI-native tooling myself (Barebone). And ironically, even this layer is crowded already.
Agent frameworks, orchestration libraries, workflow engines, thin wrappers around foundation models—they are multiplying faster than they can meaningfully differentiate. Calling yourself an “AI engineer” is not going to be a moat.
I dont think LLMs eliminate engineering. PMs and domain experts can increasingly build prototypes, validate ideas, and ship internal tools with AI-assisted workflows. They are moving into what used to be engineering territory but mostly at the prototype layer.
Production is a different animal. It still needs engineers who understand reliability, scale, security, performance, observability, and operational trade-offs. The market is not killing the generalist software engineer but it is collapsing the premium for implementation-heavy work and raising the premium for deep expertise and real systems intuition.
For the first time in a long time, I think the biggest returns in this field come not from knowing a little about everything, but from knowing one hard thing exceptionally well.
AI was used to assist with grammar and editing.