And that's literally one single profession.
Many people in the field now aren't nerds anymore either but people who are just incentivised by financial prospects.
I don't think I'd be currently doing software if YouTube and games were accessible and good on phones back then.
And there are going to be lots of new companies that suddenly want to build a load of software.
The profession should hang on for a good while at least.
The same way indie developers have always outmaneuvered larger companies. A number of my favorite apps are built by a single developer (Overcast, Callsheet, Carrot, Widgetsmith, Octal) or small teams focused on building a good product. Caring. That might seem simplistic and it's not to say no one working at a larger company cares, that's clearly not true, but there is an attention to detail and craftsmanship, not to mention soul, I find lacking in most software produced by larger companies.
I have a product that competes (or rather they compete with me? I was "first to market" for all that matters) with a product produced by a company (no clue the size, but I'm 1 person, they seem to employ multiple people). I think my product is better because I "Sweat the small stuff" and spend more time working on improving the experience than they do.
Perhaps I'm delusional. Maybe people think their product is better but the people who have switched don't seem to think so. I don't solicit information about them from their previous clients but I've heard enough "This is so much easier/clearer" or "That's it? The old tool required XYZ!" to believe it.
Movie theater numbers are collapsing, in large parts due to the number of entertainment available at home those days.
I do love straining an analogy. :)
I'll grant you that your future is possible. If "searching" via LLM for a tool just offers to build it for you, I'm not sure what that does to the software market. But I have a feeling that even with more people "building" instead of "buying" there will always exist a majority of people who don't want to bother with "building". Heck, there are people in this industry that I would never call a "builder" and there are plenty of people across all industries that simply don't have the drive/interest/etc in building, even when it's easier. I bet if you grabbed someone from the dawn of computing and plopped them down just pre-LLM they would be amazed and flabbergasted "Why isn't everyone writing software custom for their needs?? It's SO much easier than it was when you had to learn punchcards! The web (how very interesting by the way!) offers free courses to learn programming that you can do on the device you carry in your pocket!".
It seems that no matter how easy we make programming, there will always be people willing to pay others to "manage" that process. See also: YouTube has videos for anything you might need to do home-maintenance-wise, and yet the trade jobs are in incredibly high demand [0]. Perhaps with LLM + cheap robotics + unlimited/cheap energy this changes but we are still 2 parts away from that and even today's LLMs are just starting to show fruit w.r.t. controlling robots.
[0] PS: If you are leaving tech, go into this. Respond to people's calls, even if you can't get there _today_, respond and put them on a schedule. Use your tech skills to help automate/manage this. I've considered this every time I've needed just about anything done and gone through the miserable process of getting ghosted by multiple people before finally getting someone out.
Bro, good engineering IS boring and it's supposed to be.
The whole reason that Software Engineering is not actually engineering is because the field is too young for there to be established, rigorous engineering codes that must be adhered to. Can you imagine if every bridge you went over or every elevator you rode in had been built with arbitrarily chosen technologies by uncertified "engineers" using the latest fad in engineering?
I think one of the outcomes of this great shift where most programming output is being produced by LLMs is that we're going to start seeing much more consistency across software implementations. It will be boring. And honestly that is probably going to be a good thing.
There are a number of open source tools that have the same, on paper, features as a paid product. And yet the paid product still exists. Is it because Pixelmator Pro produces a better "blur" than GIMP? No, it's because Pixelmator Pro is more enjoyable to use, has a better user interface.
So yes, your auth/RPC/whatever should be incredibly boring, and now that LLMs can handle that aspect reliably we can focus (if we choose) on improving other aspects of the software and that will be the differentiating aspect.
Human understanding + quality/maintainability is where the money is at. Learn to make those things with agents.
I don't think engineers will truly go extinct, though there may well be less of them. I think the recent discussion around "AI usage is a skill" at https://news.ycombinator.com/item?id=50063427 captures my feeling - there are things to learn, and likely will continue to be, to get the best out of these tools. That means some people will be paid to do it. See to it that you are one of those
It's not like engineers didn't know that project management, voice of the customer, and organizing tasks as an intermediary between engineering and management was a thing that could/should/needed to be done. It was just a delegation of tasks before because there was more work than one person could do. Now, all of these roles can be partly offloaded to LLMs, but still having a human in the loop to guide engineering and interface to the business/customer will still be valuable.
Knowing what to build overall, what to build next, what's coming later, and how the product relates to the business goals is still very much a human endeavor.
You think we’d have Carmack’s DOOM with “best practice”? Hell no.
I’ve worked for incredibly talented people who choose the wrong technology, approach and design for problems they could have predicted or anticipated, had they seen it or a similar problem before, or had context about the organisation, customer or size of team managing the proposed solution. But they don’t.
AI is great at giving textbook and “Enterprise grade” solutions; but as code production cost reduces — I think the value of simple, digestible solutions will grow. TDD et al can also be helpful, but at a certain point it becomes too abstracted, too complicated, too hard for any one person to grasp.
At that point I think test managers who understand user journeys will be worth their weight in gold, and the real value in any solution becomes good, represented testing.
If you can direct AI and produce more value per $/time spent then a non software engineer directing AI to develop software then you still can produce a lot of value. This should be the case now for most things that are not a prototype. The job has changed from "writing code" to "shipping software". A technical lead.
Software products making ever more intelligent AI software development accessible will continue to reduce the need for software engineer involvement. But there’s also going to be 1000x more software. So there may continue to be opportunities for those that adapt.
I think this is a pre-existing problem, as there's quite a lot of people who now have senior in their title but their expertise is very shallow, as they've just been picking tickets up most of their career and have been handed acceptance criteria and requirements on a plate, without really being involved in that part of the process. Obviously not talking about the best of the best here, but the other 90% of working software engineers today.
Inside of organisations, there's still a lot of place for that very human back and forth on what exactly you're building. Navigation of internal politics, org structures etc. What is really exciting for me, is I've never seen so much appetite to actually build ... there's plenty of companies out there for whom that was unthinkable for one reason or another, and now they're hungry for it. Of course it means those companies are going to be learning for the first time the ups and downs of owning your own stack, and there's plenty of opportunity for us there too.
There are obvious differences, but also similarities. Particularly:
I've been doing some fractional work and I've been
getting more and more outreach from organisations that
don't have much development knowledge internally and
have come to understand the limitations of what they've
been building and want expert review.
There was a lot of this kind of work in the late 90s and early 2000s. The IT guy or Bob from accounting would cobble together some surprisingly effective Visual Basic apps that presented a huge win over whatever they were doing previously, but quickly grew unmaintainable.I do think we lost something in the middle ~20 years there as the industry (understandably) matured. For those of us in tech-forward companies, and industries, everything continued forward... but what I'd certainly missed was how much fear(?) was in the industries that were left behind.
The economics and the reality are unproven and opaque. Most of testimony we have is heavily invested folk and/or people paying the currently low discounted rates for the technology.
The companies providing the technology are not financially healthy, are heavily geopolitically aligned and a risk for many. If it works or not is moot: it looks like a large economic or political failure on the horizon.
Ergo wait and see before thinking about the future.
I also see a bunch of skills emerging. First if you're doing frontend type dev, there is a lot of value in good aesthetics and UX intuition. You can build hundreds of prototypes and test concepts much better.
On the backend, while LLMs can trace race conditions, the need to reason against spaghetti and figure out what your context window looks like is still very much there. Designing tests that ensure seamless migrations still requires a degree of human oversight.
Then there are frontiers like robotics where even with LLMs coding, there are so many cross functional problems that you dont feel like you are moving faster.
I work in a fairly niche role. I use llms for coding all day but there are times for the type of operations research work I do I simply find it easier to write algorithms in almost correct code.
This statement resonated with me. Thank you.
The agents have incredible capabilities to develop any bit of code I need and to write good scripts to catch the most basic failure modes, they can even "play the game" by spinning up a VM and using ahk to trigger game state and take screenshots and gifs and use that to understand what it built.
Knowing what to build intuitively to maximise fun, or any other illogical human experience won't be RLable ever. Unless we're at brains in glass jar territory but I don't think we have to worry about that now.
That is a question I have been asking myself. It was partially answered with Fable 5.1 and Astra. I worked with them on architectural design documents, and they were very good. Some of their suggestions were better than my solutions. They are not at a point where they can fully replace a system architect yet, but they're getting close.
There is still the open question of what to build and how to create a user interface that is understandable and presents complex information in ways understandable to humans. That's something AI cannot do yet.
An agent could do this with the SOTA model capability that existed yesterday. But then they’d need to become seriously misaligned.
The problem with AI alignment is that they are only superficially aligned. You can see this difference in people, too. Between the people-pleaser at the office, and the one who says hard truths that really need to be said (but that nobody else is willing to say), which one is really aligned?
Other disciplines have way less publicly available training data than SW.
In other disciplines, the secret sauce of whether a technical decision is good or bad lise within the institutional knowledge and decades of experience of gray beards, not a compiler output that can be integrated in a machine's feedback loop.
That said, I think the rational perspective is "things will be fine, basically".
I tried writing a longer reply but organized thought drifted into ramblings about economics I only partially understand. TL;DR I think some opportunities will close and others will open, and current engineers will find a home. Mostly software architecture or as technical advisors for product companies (if everyone writes code, you need some Dude Who Knows It Well to guide the non-engineers when they get stuck. Akin to IT).
I think wages will stagnate but wages are generally inflated, if we're being honest. As much as I love my doctor-level salary, I can honestly say I don't deserve it.
Your competition, currently operating with high cost humans, will be forced to reduce their costs or fold.
So, if it's possible to run with fewer people, competition pressures everyone to do the same. You won't really be able to prefer humans soon.
The economy will dramatically change under unprecedented supply. Hopefully this happens slowly enough that we figure out what to do about it.
There does _seem_ to be some pressure on the top end of SWE salaries. Its possible that this is just wishful thinking, but if true, I suspect that it has more to do with an increase in job applicants rather than a decrease in actual work. AI seems to have driven up the amount of applications received for every vacant position.
Actually, the poetry thing is probably doomed too.
So maybe.. interpretive dance?
Architecture, in the sense of applying/enforcing organising principles like modularity and levels of abstraction, is something we currently do largely to manage complexity -- so that we can fit as much of the system into our limited brains as we can. For a large enough system, this is necessary in order to work on it efficiently. But if you can "keep the whole thing in your head" without using these "crutches", then there's actually no need for them. They become overhead that can be done away with. We do this already for sufficiently small things -- no one plans a software architecture for a "Hello world" script.
It's possible that future (maybe even current?) AIs will be able to "keep the whole codebase in their heads" just fine, in which case the need for architecture goes away.
The only reason the tech bros are touting utopia is because they won’t be paying for it. It’ll be a tax on their customers, not them. This is a strange timeline.
What will happen is you will get less developers (including less seniors and staff-level) but there will always be expert humans that will check the code before release.
Maybe it was a good run for some here, but you need to look outside of the tech bubble. Do you want an LLM to autonomously fly a commercial plane without any pilots in 2030?
"Seniors" should already know this, but are quickly startled because they are unable to adapt since they based their entire identity and careers around the over-engineering of "clean code", "test driven development" and "architecture" too early on products that make no money, when the LLMs have now cheapened that and taken that role. Even Uncle Bob does not read the code Claude writes in 2026.
Instead, think like an owner.
AI still isn’t a magic bullet either. I spend some of my days undoing the unholy mess that generated code is.
"Instead, think like an owner." exactly, the traditional software engineer role has ceased to exist and now you must think like an indie entrepreneur and own things. There will be less than 10% of current engineers checking the code in the near future.
> Do you want an LLM to autonomously fly a commercial plane without any pilots in 2030?
No but I also didn't want LLMs to make decisions for the defense department in USA yet here we are.
It will still exist, but far less of them and it includes the reduction of SWEs from junior to staff-level.
Someone will always be held liable if an LLM runs autonomously and out of control which will cost them a lot of money for damages.
> No but I also didn't want LLMs to make decisions for the defense department in USA yet here we are.
That was someone else (another human) that made that decision to use LLMs there, and why certain countries don't trust the US any more, which is my point with both liability and trust in highly critical situations.
Exactly. LLMs make it, I'd say, _possible_, to own way more parts of the code than before, and understand even more.
This argument has been made before LLMs and it didn't make sense to me then either. Sure I do if it crashes statistically less often than humans!
But sure, if my job now is going to jail when something malfunctions, that's still better than seeing my family starve.
I suppose eventually it could be a rack robot instead, why not.
Self driving cars already work well in niche (millions of people have used them successfully). There is debate over how well (the only people with access to real world data who are talking also have a clear bias so who knows), but they at least work today.
There are a lot of order systems that automatically order parts for you. Just in time and tracking what you ship makes it easy for a program to figure out what you need. If you order something from my company the system automatically orders all the parts needed to arrive the day we assembly in our factory (which is very automated and getting more automated all the time).
I'm sure places like Dell have a lot of automation in their build a server, though I don't have insight into how they do this. Likewise every medium sized company has images for everything so all the software can be automatically installed.
None of the above is perfectly human free yet. However it has been moving that way for years and will continue to. LLMs have a place in moving that long.