Multiple times per week I have the same conversation. It goes something like this:
- AI will make developers irrelevant
- Why?
- Because LLMs can write code
- Do you know what I do for a living?
- Yes, write code?
- Yes, about 2-5% of the time. Less now.
- But you said you are a developer?
- I did
- So what do you do 95-98% of the time?
- I understand things and then apply my ability to formulate solutions
- But I can do that!
- So why aren't you?
The developers who still think their job is about writing code will perhaps not have a job in the future. Brutal as it may sound: I'm fine with that. I'm getting old and I value my remaining time on the planet.Business owners who think they can do without developers because they think LLMs replace developers are fine by me too. Natural selection will take care of them in due course.
This is a bit of glib answer. Most of the time is spent coding which encompasses typing, retyping, and retyping again. It also includes banging your head against the wall while trying to get one of your rewrites to work against and under-documented API.
OP's formulation makes SWE sound like a purely noble enterprise like mathematics. It's more like an oil rig worker banging on pieces of metal with large hammers to get the drill string put together. They went in with a plan, but the reality didn't agree and they are on a tight schedule.
> Yes, about 2-5% of the time.
There are also those for whom that percentage is higher, let’s say 6-50%.
> I understand things and then apply my ability to formulate solutions
The AI is coming for that too.
You might just be lucky to be in circumstances that value your contributions or an industry or domain that isn’t well represented in the training data, or problem spaces too complex for AI. Not everyone is, not even the majority of devs.
People knocking out Jira tickets and writing CRUD webapps will end up with their livelihood often taken away. Or bosses will just expect more output for same/less pay, with them having to use AI to keep up.
> Natural selection will take care of them in due course.
While you are seemingly not at the moment, some day you might be at the receiving end of that "natural selection" in ways that seriously impact your remainint time on the planet.
In that case you might reconsider your stance, and especially question how natural is the selection of a few powerful rich people depriving others of their way to earn a living and their way to draw meaning from their lives.
The AI revolution keeps getting compared to the industrial revolution, but people keep forgetting the consequences of that one.
I agree in principle, but I think the 2-5% estimate is extremely low. I could be sold on most developers spending ~25%, up to 40% of their time on code. But very few people are spending 2% of their time on it. Unless you're some sort of super senior staff / advisor to the CTO at a gigantic company, which has already placed you on rare terrain.
Not sure where I first heard this, but I say it to my team all the time: "Programming is thinking, not typing"
I remember being that kid in high school who ran math and logical problems hard which contributed to me being very technical and to learn to push through painful mental challenges on the regular. Out of most of my graduating class there were not many of us that went on to become engineers for a reason because it isn't easy work by any means and I'm guessing is quite draining for people who don't use their brain like we do.
So while AI will change the industry I don't see any reputable company firing the smartest ones in the room for junior level intelligence.
Even with it advancing someone has to be responsible for when it screws up which we know it will.
This answer makes two big assumptions that haven't been proven out yet.
- Understanding code without writing it is as viable as understanding code that you've worked with directly or indirectly
- Businesses care that you understand code
I really doubt the first one. Traditionally, understanding a code base in large part came from working with it intimately and building that muscle memory. The idea that understanding code by reading it is as good as understanding it from writing it, in my opinion, is not realistic.
Whether businesses care that their engineers (which they are increasingly viewing as monkeys at LLM typewriters) to understand the code remains to be seen. I don't think they particularly care whether their code runs slow and is buggy so long as it works just enough to churn out features and continue to pull income.
Well said, the only flaw is the unfortunate realization that "I understand things and then apply my ability to formulate solutions" is rarely required, how many zombie corps are still roaming these days?
Judging by how many day to day tech products in my life are buggy, slow or user-hostile there can't be more than 50-100 tech companies actually innovating, right?
Isn't the long term trend just that we don't need as many engineers, not that there will no more software engineers?
Theres another, different loop I keep seeing which is:
- Company A lays off engineers citing AI efficiencies
- People say its because of over hiring during 2020
- Company B lays off engineers citing AI efficiencies
- People say its because it was never a good business
- Company C lays off engineers citing AI efficiencies
- People say its because theres a recession
I guess to cite a counter example, unemployment is still super low, software jobs are still holding up, but the bear case is that eventually 5% of people will be able to do what people do today, and the demand for software won't grow at the same pace.I had a professor at my CS university (one of the greatest I had) who used to say (in 2008): "a developer should write no more than 5 lines of code a day"
Only 5% of your time is spent writing code? That sounds like a low estimate for most software engineers I work with.
May I ask if you could estimate how you spend the other 95% of the time?
If you’re a developer and you’re writing code 2% of your time pre-Claude, that’s 9 minutes a day, you will and should be fired.
The perspective here is "lifetime career", so you need to project out 30 years here, for a meaningful argument.
I think, much sooner than that, you'll have AI pumping out practically complete implementations that meet the requirements of function, set by the people who desire that function. THOSE people will be the developers, and will be more akin to technical "creatives", more on the product side, than the developer side.
You don't think AI is going to be able to understand things and apply their ability to formulate solutions better than you, in the near future?
We switched to 'software engineer' to encapsulate that, I think. You can receive requirements and churn out code or you can go up a level and think about the solution. Go another level up and think about the problem. Another level and it's the context of the problem. Further than that and it's the priority of it. And even higher up is how it fits in the product roadmap and the architectural decisions.
At some point you stop developing and start weighing up the requirement against your understanding of the system and the environment it works in.
There's an old Chemistry joke, that I've reapplied to Software Engineering, and it goes something like:
A New Engineer (NE) shows up on their first day on the job, notebook in hand ready to learn. They get assigned to shadow an Experienced Engineer (EE) for their first day.
EE: Now, the thing is, for any project on our team, you only need to change about 3 lines of code. NE, preparing to write down notes: Which 3? EE: Well, it depends.
(Originally about Material Safety Data Sheets, and there only being 3 relevant lines on them).
I think this is what people miss about Software Development.
LLMs also can “understand things and apply their ability to formulate solutions”. There is nothing that will inherently limit AI from doing all knowledge work (and all physical work once robotics is good enough).
Of course developers could just move up the “next level of abstraction” and become managers of agents who write the code, but eventually AI becomes a better manager of agents than even the best humans, at which point there is no contribution a human can make that an AI model or system of models couldn’t do better.
Usually that means you're already a senior developer, understanding things and formulating solutions is part of work delegation.
Now those juniors whose job is to implement those solutions, they will have a hard time.
On my 50s, I also don't write as much code as I used to, even less nowadays with serverless, managed services, low code/no code tools, agent orchestration workflows, and with it I keep seeing development teams getting smaller.
> Natural selection will take care of them in due course
Wonderful articulation. There's a plethora of prognostication about how AI will change everything in software and beyond and the thing I keep thinking is, well, when will the talk stop and the demonstration of results commence. It doesn't seem to have as yet.
If it works, it'll work. The methods will spread and quickly be accessible to everyone, and progress will go on. That's great.
If it doesn't work, we'll also see that in the absence of real results. And simply stating you are seeing it doesn't qualify. It must be something we can all see and use that is unavoidably, undeniably real.
> I'm getting old and I value my remaining time on the planet.
It's an interesting sentiment. I, too, am getting old and value my remaining time on the planet, and so I code by hand every chance I get. :) Luckily I'm in a position to be able to do that.
Because that classifies in "developers" and "software engineers". And software engineering isn't going to disappear anytime soon
You’re a ”developer“, i guess, but not a coder (anymore), which is what your interlocutors are probably asking about. You’ve migrated to a middle manager job, not something they probably can just start doing competently. Essentially you’re agreeing with their initial sentiment, that coders will be made irrelevant.
And most of the time the statistical aspect of LLMs result in a less creative solution that is more expensive to run and harder to maintain. LLMs at this stage are good at scaffolding, generating the boilerplate you do not want to write and glue things together quickly. It just makes engineers faster.
- Compilers will make developers irrelevant
...
- Compilers can write assembly language code
- Compilers have -O3 now
etc...Maybe we should rejoice. I remember dreading writing documentation, and now I would happily hand that off to AI.
Anyone read posts like this and picture someone who doesn’t actually do anything all day besides posture in meetings? Probably with a super inflated title and salary.
I doubt this is what the OP does, but there’s tons of developers like what I described and they seem actively proud at not actually building anything and playing politics all day.
The problem is people think AI can replace the 95-95% that isn't code too. That's where we end up with massive unusable codebases that no one understands.
I dunno, man. I've been doing this for 20+ years and I think we're at a really important fork in the road where there are two possibilities.
The first is that AI is achieving human-level expertise and capability, but since they're now being increasingly trained on their own output they are fighting an uphill battle against model collapse. In that case, perhaps AI is going to just sort of max out at "knowing everything" and maybe agentic coding is just another massive paradigm shift in a long line of technological paradigm shifts and the tooling has changed but total job market collapse is unlikely.
The other possibility is that we're going to continue to see escalating AI capability with regard to context, information retrieval, and most importantly "cognition" (whatever that means). Maybe we overcome the challenges of model collapse. Maybe we figure out better methodologies for training that don't end up just producing a chatbot version of Stack Overflow + Wikipedia + Reddit. Maybe we actually start seeing AI create and not just recreate.
If it's the latter, then I think engineers who think they are going to stay ahead of AI sound an awful lot like saddle makers who said "pffft, these new cars can only go 5 miles per hour."
> Business owners who think they can do without developers because they think LLMs replace developers are fine by me too. Natural selection will take care of them in due course.
Thing is, natural selection will take care of you at the same time. Because you'll also come to rely on products they make, or services they offer, either directly or indirectly. So eventually, you too, will suffer the consequences of the enshloppification.
That doesn't hold because the goal for executives is to increase revenue and the main sales pitch of Anthropic et al is to pay for agents instead of paying for engineers. That means 80% of the workforce is out no matter what. Whether or not one belongs to the remaining 20% is a different story, but obviously not all of us will be there.
> I understand things and then apply my ability to formulate solutions
AI is coming for that too. Don't be naive
You miss the major factor in your compensation: pricing pressure due to supply/demand.
By removing all the junior engineers, you've fundamentally changed the market forces longer term and most people expect that to negatively impact you in the supply demand curve regardless of whether or not the statements you've made above are true, which they most likely are for senior engineers.
This is exactly it. The speed of light has not changed: we're limited by our ability to understand the system, and make decisions about what to do next. AI will speed that up, but the core work is the understanding and decision-making.
Saying otherwise is sort of like reducing the task of writing a novel to typing.
Something missed in that computer science was a highly theory driven discipline where people were taught how to think critically about solving complex problems. Industry complained they weren’t teaching enough programming skills, so they dumbed down the thinking part and emphasized the vocational part. Now the vocational part is virtually useless, and the grounding of theory applied to complex problems is suddenly really relevant again. Schools will take time to retool their programs, teaching staff, and two generations if not three graduates will have entered into a work environment that doesn’t need what they learned.
As someone 35 years into my career I agree this is the most exciting part of my career. I love programming and I do it all the time but I do it by reading code and course correction and explaining how to think about the problems and herding cats - just like working with a team of 100 engineers. But the engineers I’m working with now by and large listen, don’t snipe me on perf reviews, aren’t hallucinating intent based on hallway conversations with someone else, etc. This team of AI engineers I have can explain to me their work, mistakes, drift, etc without ego and it’s if not always 100% correct it’s at least not maliciously so. It understands me no matter how complex the domain I reach into, in fact it understands the domain better than I do, so instead of spending a few months convincing people with little knowledge or experience that X is a good idea, I can actually discuss X and explore if it’s a good idea or not and make a better informed decision. I’ve learned more in these discussions than I’ve learned in decades of convincing overly egoistic juniors and managers to listen to me about something I’m an industry authority on.
However I see very clearly we will need very few of the team of 100 human engineers I can leave behind in my work. Some of will be there in a decade, but maybe less than 1:10. This is going to be a more brutal time than the Dotcom bust for CS grads, and I don’t think it will ever improve. Mostly because we simply won’t need the “my parents told me this makes money” people, just the passionate folks remain. But even then, we face a situation where the value of any software developed is very low because so much software is being developed. It’s going to turn into YouTube where software that is paid for is very small relative to the quantity of software developed. We already see this in the last few months with the rate of GitHub projects created. If the value of any software created is low, the compensation of the creator will be low unless they’re very rare talents.
Yeah coding speed was almost never the bottleneck I found. AI now does the typing and (some) of the thinking. It doesn’t figure out what needs to be built and how it all plays together (yet).
This is a valid perspective, but I don't think a useful one.
Being able to produce code is a huge unlock for many non-programmers. So in a way, it doesn't matter how much time existing developers spend on coding. It's about helping anyone become a developer.
The "apply my ability" is doing a lot of work, so to speak, in the above exchange. Work that might eventually well be automated away.
> Natural selection will take care of them in due course.
or you.
Saying being a programmer is about writing code is a bit like saying being an artist is about drawing lines on a canvas.
Yeah technically drawing lines on canvases may be an very important part of being a painter, but it is hardly the core of what makes or breaks great art.
> Yes, about 2-5% of the time. Less now.
I spent 2nd half of my 30y career fixing organizations and process where this was the case. so many things are wrong in places where this is the case (or alternatively you need a different job title :) )
What you described are senior developers and system architects.
Junior developers spend most of their time writing code (when they're not forced to attend pointless standups, because Agile/blah/blah)
> The developers who still think their job is about writing code will perhaps not have a job in the future.
So you're saying the same thing everyone else is saying. SWEs won't go away, but they will be greatly reduced, because those whose job is about writing code -- junior devs -- will be replaced.
(How will Sr Devs in the future be created? That's the question, isn't it.)
The true argument is about quantity - of people, not code. All qualitative arguments are missing the point.
This is maybe a bit myopic.
Dude - look what happened in the last 2 years on software.
Now project out another 10.
I totally agree with you 'as of now, in the current paradigm'.
But that could very well change.
Note that just because you know the job is understanding things, the manager who'll boot you and leave you without income probably doesn't. They'll just get their political cookie points for saving money by replacing you with AI.
>- I understand things and then apply my ability to formulate solutions
- Well, and AI can do part of that too, maybe more of it soon.
- ...
- Besides, you don't need 10 guys in a team to do that. A couple of them will do, then AI will do the coding. What will happen to the rest?
- ...Engineering in a nut shell... What did we do before computers??? Halls full of draftsmen...
I think similarly. To me value of the "programmer" is not "I love Rust", "I am React expert" etc. That "love" is for sure replaceable.
> Multiple times per week I have the same conversation.
Really? I mean, good on you if it's true and you like the attention but that's sounds like an implausible amount of interest in someone and their relatively mundane profession.
On one of my very first jobs in around 2000 I got paired with a much more experienced software engineer. He’d been a pro since the early 70s. I was stoked to learn from him.
On like my fourth day he said “now I’m going to teach you the thing that helped me the most in my career…” I waited, ready for the received wisdom. And he said “always number your punch cards so if you drop them they will be easy to put back into order”. I was upset. We were long past the point where punch cards were in use. And then he said “I said what would help _me_ the most, not what would help _you_. Software is always changing”.
I’ve thought about that a lot lately.