I think on the frontend side we're going to see a lot more scope for teams.
On a backend infra side it seems as hard as ever. Still have to think really hard problems, think deeply about data structure and flow, and deal with second- and third-order effects. Or even harder because the models like to confidently lie.
The harder question is how we train people but that doesn't seem insurmountable either. Most of us cut our teeth as junior engineers somewhere, implementing tasks that Claude can now do without breaking a sweat but was that really the most efficient way to train and learn?
Or, thinking about Windows and macOS in the Jobs era, perhaps the difference is more between the quality of taste. Microsoft focused on quality code, and came up with COM, architectures where an instantiable button is 13 levels of inherited classes, and things like DirectX, where the architecture is clean and extendable, but forces every developer to do things like allocate their own @#$! framebuffer. High level of craftsmanship, but poor taste. Jobs tended to focus on the user experience and had good taste, so the results were generally pretty good, but I got the feeling that the code wasn't as much of a priority.
On the lower end, there are a lot of companies whose sole purpose is to build websites for other small/medium sized businesses that don't care enough about tech to pay for a full-time engineering team.
For those companies and developers, I suspect the increasing rise of AI will be a bloodbath. If your whole value proposition is "we can build your website using WordPress/Squarespace/Shopify/[CMS name here]", then AI can basically do about 95% of your job. I suspect a lot of these companies are going to shutter when clients take the work in-house due to AI, and many others will probably lose about 90% of their employees due to AI solutions being generally 'good enough'.
On the other hand, if your company is tech focused and needs to implement more complex functionality as a selling point, then there'll still be a place for software engineers even with AI. This is where the engineer as pseudo project manager thing comes into play, and where the actual coding side of things is probably going to be limited to things the AI can't implement properly.
Both situations will probably see a significant drop in the number of software engineers employed there, but the latter feels like it'll still have some room for a career.
The few lucky ones to stay employed, get to be promoted to technical architects, and everyone else whose passion was equivalent to brick layers has to find something else where humans haven't yet been replaced by robots or self service machines.
When each team member gets more productive we're not doing e.g. 5x more output, we're doing more with less (team size).
In the old days we programmed systems by literally wiring them. There wasn't much work, only a few "programmers" were employed. Then somebody came up with Punch cards that was much more vision than wiring the systems directly. This opened the door for a lot more people to use them and now programmers were busier.
The punch cards didn't scale either so eventually we created panels with buttons so we could type the programs into the computers. That was more efficient and now all the sudden it lowered the bar entry and more people who are employed and doing the work.
Assembly language to machine code compilers to assembly language high-level languages and LLMs.
Every time developing software gets easier, it only increases the amount of work required. I'm busier today than I've ever been in my entire life.
What's going to happen to software engineers? They're going to be overworked and they're going to be given more work and the cycle will never end.
Understanding of product and business has always differentiated me though, and this is why I've never really stressed about any of this.
Another thing I've noticed - most developers are really bad at reviewing code - whether AI wrote it or not. Its really hard to make your brain sink in deep enough to really evaluate what you are looking at. I think a lot of developers never - or almost never - find bugs based on code inspection alone. Once they are written - there is often no other practical way to confirm that tests actually test what they claim to other than inspection. And bugs in design are still very costly in this new world.
As long as any human still has an edge in any aspect of the software development process - people who can force themselves to really think through proposed designs, test plans and cases and code will be really valuable.
What I don’t get is using AI agents feels basically the same as what I used to do with legacy codebases of 100k–200k lines—understanding the codebase and making partial fixes or adding features. To me, it feels like nothing has changed.
Most of my career has been about finding parts that won't break within the overall code structure—without necessarily knowing the entire detailed specification—and adding features or fixing bugs there. So I feel like it's no different from finding and fixing small issues and bugs in a large codebase written by AI.
Of course, when delivering a solution that's 70,000–80,000 lines long, there is a change things that used to rely on templates and CMS tools can now be created more diversely using AI. But aside from that, I don't think things have changed as much as people say. It might be different for those who build things entirely from scratch with AI, though.
My code writing ability has declined, but I'm not really seeing a dramatic change in workflow
Now I work with code written by AI, adding features and modifying it… Most of the codebases I’ve seen were bad anyway—there was no good code to begin with. When coding with AI, I split tasks into P0, P1, P2 based on importance. For P0, I write everything myself. For P1, I write the draft and AI implements it. For P2, AI implements everything. For P0, I only handle things that involve responsibility, like payment logic or login logic.
I don't participate in open source, so I don’t see big changes. The only thing I notice is that AI speeds things up a lot—for things I used to understand by reading documentation and examples, now I can generate them much faster. Personally, I wish open source projects had more simple, short examples in their code
In my personal experience, the vibe coded solutions are incapable of delivering "safe" changes outside of anything trivial without breaking something. Folks now just seem to think this is OK? The result is software like my password manager and banking apps no longer reliably work. The trade offs (currently) just aren't worth it imho.
Maybe once we get context windows in the 100M range these systems will handle large scale (and distributed in my case) backend systems just fine. They most certainly are not at the moment, at least not to preexisting backend software systems of modest complexity. Not even close.
Also ai makes things just resource constrained, not labour - whatever you imagined, you could make happen, just needed to “talk to an ai” about it. Lots of terraforming Mars / Venus in that book were imagined like that.
But it also analysed the social / political / behavioural aspects of it. Places that had to preserve old power structures - aka US/Europe/China - got engulfed with mega corps controlling everything etc.
But Mars - where people had enough freedom to imagine something different, came up with political/financial structures to incorporate all of that, and thrived.
I think it tried to play the card of “if US was being created right now - what would its ideals be” If you had a huge tract of land that was “free” and nobody (powerful enough) claiming it, and a population that didn’t yet have strong allegiances and could be persuaded to band together, what would AI, tech and all these years of progress allow us as humans to achieve politically.
Which also makes you feel kinda sad for the US in that world - it is the old rusted power center that can’t innovate and is stuck in the past…
Now it’s only sci fi of course, but it was quite interesting to imagine a world where AI gets smarter and smarter but never reaches that “sentient” threshold. I think the whole trilogy aged incredibly well all things considered.
My thoughts are distilled in a single page:
https://devarch.ai/trio-paradigm.html
I doubt we will ever need a large team to build software again. PMs will be fractional. Product owners and subject matter experts will become more valuable. And engineers that have deep experience with things like Domain-Driven Design will thrive and vibe coders will eventually be shut out of bigger roles.
>Nevertheless, my point here was to show a few of the ideas and directions I've been considering, and I'm keen to hear from others what you're thinking about too.
I decided to study computer science in college as a hopeful 18 year old who wanted to learn how video games work and maybe work for a development studio. I needed to find a job right after college, and I ended up going the full stack route. 10 years later (now) I'm working remote, making decent salary, but never fulfilled my original purpose for studying computer science. What's gonna happen to this software engineer? Anecdotally, I'll ride my IT job as long as I can while using AI to learn about game development.
Programmers, on the other hand have a lot less leverage to bring to bear.
Of course, the above assumes that the job cuts are actually AI related, and not just cover for having to fire people because ZIRP (Zero Interest Rate Policy - aka free money) is over.
go do a good job. it's increasingly rare nowadays.
the frauds are growing.
But it was so great as a tool that some engineers didn't want to deal with the burdens and limitations of the physical world, and started focusing on software more and more.
Then the software engineers came, for whom the physical and mathematical aspect of the whole thing was just a distant history lesson (and preferably a problem in someone else's computer).
And after software engineers, the only constant in the entire ordeal will remain: engineering, in a shape or form that very likely nobody can predict right now.
I can see very few reasons why AI couldn't replace their expertise for all of us non-experts, the same way it did for software development.
Here is a post that summarizes what I mean: https://substack.com/home/post/p-200064883
Given the quantity of such companies that exist, I'd expect a lot more jobs for software devs. Somewhat different, sure, but not fundamentally different.
Semi-related, but I really want to see the long term maintenance outcomes of all code being produced by these software engineers that were apparently just closeted project managers. I feel like having 50% of the engineers in this industry just telling Claude Code, "yeah that looks good to me" 150 times a day is going to result in an incredible amount of software rewriting.
The guy in Switzerland enjoys his life more, their labor has more leverage and is generally more valued across the world.
You all have a choice. Handmade software isnt going anywhere.
In fact this is all a trick to decrease the bargaining power of your labor, turn you into a de-skilled button pusher and a slave to anyone willing to pay you a morsel. Dont fall for it.
Edit: The people arguing with this have low standards and yearn for slop.
So the problem for me is that I’ve noticed a trend with my coworkers- they usually don’t have a formal CS background (e.g., Comp Sci degree), their resumes are unimpressive, and they have personal websites where anyone can download a copy of their resume. I haven’t seen this at any previous job. It’s just weird, man. Anyway, so my problem is when they are purported to be the best of the best at this company, and they’re chugging the LLM kool-aid, I’m struggling to figure out whether they’re really ahead of the curve and getting the drop on the rest of us, or they’re doing basically no work and waving through each other’s PRs with little to no oversight on what the LLMs are writing. The bush league nature of many of the bugs I’m seeing going all the way to prod makes me think it’s the latter.
Meanwhile, these guys and their teams are completing an absurd number of story points each sprint. My team is dead last (and coincidentally we’re all pretty anti-AI for writing code).
I’m waiting for the other shoe to drop. I’m waiting for the C suite to call our project a failure and lay everyone off. The product generally works, though I think if the devs were truly rockstars, things would be much smoother. It seems like LLMs are letting middle-of-the-road or mediocre devs appear to be rockstars purely on output speed. Nobody in this org cares if the output has 4x the bugs it should have, just that it was completed quickly.
The main issue I think is that nobody- including the rockstar tech leads- knows how the system works. They don’t know the code. There’s a bug and it takes forever to track down. Don’t ask about unit tests.
I think in a perfect world, these LLMs are treated like another tool rather than another person- meaning you and I still write a large portion of the code, and we read and understand every line- especially the lines generated by LLMs. It’s still a huge productivity multiplier for me to not have to remember how to do mundane things like write out arrays into CSV files- before I’d find a close implementation on StackOverflow and tweak to my needs. Now I can just describe what I want the CSV to look like and Claude Code generally gets it right on the first try.