I don’t know if my software engineering job will still exist in ten years

25 points by lou a month ago on tildes | 31 comments

skybrian | a month ago

I don't think anyone really knows where we'll be in two years, let alone ten.

Octofox | a month ago

It’s impossible to make predictions without knowing what the future developments are. If AI coding stuck as it is now then everything is quite safe if a little different. If it gets much better than it might be all over. It’s still too early to call.

moonwalker | a month ago

I don’t think there are any genuinely new capabilities that AI agents would need in order to take my job. They’d just have to get better and more reliable at doing the things they can already do.

I feel the opposite. There are immeasurable qualities of a company, operations, and codebase that help inform lots of little engineering decisions on the daily. Then there's the situation of being handed a ticket/feature/user story with vague requirements and being expected to develop it into something concrete without much supervision.

teaearlgraycold | a month ago

At least in startup land I get extremely open-ended tasks like "I think our users want us to add a website-builder feature onto our AI phone receptionist app. Maybe do something like Claude Artifacts?". And then you need to talk to users, see their current sites, ask them questions, and re-evaluate the assumptions in the task itself.

Given the above task I ended up doing something a bit different:

  • Create a JSON DSL that builds a React webpage using a custom component library
  • Use tool-calling LLMs to create the page. Constrain to the JSON schema built at runtime from the component library
    • One tool to create a page from scratch
    • One tool to identify segments to edit from a user's change request
    • One tool to implement changes
  • Implement a basic WYSIWYG page editor with drag-and-drop components, click-to-edit text, etc. Lots of little things are needed to get it good enough to ship.
  • Make sure the sites support server-side-rendering for SEO

It's never just "Make the button blue and change the text". If that's your whole job then you're cooked right now. I have met people that consider themselves developers but probably could be (perhaps are?) replaced by today's LLMs. But a proper developer has so much to do that isn't just translating well-defined requirements into code, or whatever other tasks LLMs are good at.

ewintr | a month ago

Thank you for putting into words what I was going to say. I completely agree.

Software Engineering is not just the art of typing code to make the computer do something, it is mostly figuring out how to translate the human request into the computer's model of the world in such a way that it fits in with what it already there and that it keeps working under circumstances that the human most certainly did not think of beforehand. You will need full AGI before the computer can take that over and when that happens we probably have to let go of the concepts of 'work' and 'jobs' altogether.

You might even say that Software Engineers are especially well equipped to deal with this transformation, as they already are very used to extensively ponder the why and how of things. The things that remain when the computer is good enough to carry out the plans by itself.

teaearlgraycold | a month ago

How I would put it is that the "prompt" that I am given when I'm working professionally is insufficient for use by an LLM. I wasn't asked to make a WYSIWYG editor or define a DSL. But I quickly realized that without those functions it would be too hard to make something shippable. And if it was just a WYSIWYG then we'd be leaving the benefits of LLMs on the table. A little of both allows the user to use each for when they are most applicable.

LLMs help software engineers get more done while maintaining a higher quality bar. When I'm done writing code and want to take a break I can easily spend a few more minutes adding test cases I would have otherwise done without. I can get CSS hacks instantly that would otherwise have taken a lot of fiddling and StackOverflow to figure out. I can find implementation logic from a library in seconds to answer questions about how something will behave. The world needed so much more software than engineers had time to build. Now that we're faster why would we need less software?

To be honest, since a year or two I've started to ditch many apps or other software I'd been using before. Because I've noticed the more ease in doing stuff without human intervention I have, the more lonely and depressed I feel.
And so I've removed most of my corposocial media accounts. I've asked for an analog watch for my Birthday. I've removed lots of apps from my phone. I've stopped reading casual mainstream internet media articles. I've started reading physical newspapers and came back to books. I've turned off message notifications on my phone. I've exited many group chats. I've also lowered my podcast consumption, when I realised I don't remember most of stuff I've listened to. And more actions, which I can't recall now.
Thanks to this, even though I have less frequent contact with people, I feel more connected and less lonely. I try to meet people the most, if not I just call. It's harder, less frequent, but more bonding.
Saying all of above, I don't feel we need so much more software. I, personally, enjoy less software in my life than before.

[edit]
added „internet" to „... media articles.“

ivanb | a month ago

Why do you think LLMs wouldn't be able to do exactly that in a couple of years?

Regardless, a more important point I think is that people tend to conflate two ways in which AI will disrupt SWE, and then only explain away one of those: AI can write code (which you discuss here), but it can also replace code.

What you described above is "I need to wrote code to make the LLM do X with high enough accuracy". I remember ~4 years ago when a similar contrived setup was necesarry for a rather simple Text-to-SQL tool. These days it just works, without any additional scaffolding.

So the attack is coming on two fronts, and I find it rather optimistic to feel safe both ways: AI might get better at writing the code you desribed, and it might also get good enough that the code you described becomes redundant.

teaearlgraycold | a month ago

It’s more that if AI can do every part of my job then no person working from a computer is safe. It’s like planning for nuclear annihilation. As an individual, you don’t.

Eji1700 | a month ago

Why do you think LLMs wouldn't be able to do exactly that in a couple of years?

Because people seem to think these things are magic reasoning boxes and they just aren't. It's not going to scale linearly, there's a reason a ton of progress was made early and the more recent benchmarks are mostly about how people use the tools rather than massive changes.

They ARE powerful and it will shift what skills matter in the industry, but time and time again tech shows that it's burst not consistent.

winther | a month ago

Yes, it still comes down to good precise problem definition. I have generally found the best results with AI if I can describe the task in very detailed terms covering all edge cases, but as most software engineers know, if you are at that far in the process, then typing out the code isn't the most time consuming task. This become especially important if you are working with large long lived systems with lots of legacy and many customers that rely on things working in a very specific way. Applying that knowledge and getting a seemingly simple feature request into something that works within an existing ecosystem is where good engineering skills become important. I have seen examples of someone applying AI to very quickly get things done and released, but soon after customers started reporting in that XYZ legacy feature didn't work and migration wasn't possible etc., which had to be handled as more AI made hotfixes. Depending on the system, that may be an okay tradeoff, but can be disastrous in other circumstances. Sure some of those risks can be mitigated with good automated tests and good system documentation, but that needs to be maintained as well and ensuring that it actually reflects reality. So far I haven't seen AI doing the needed critical pushback that good engineers do, as it will happily do with equal confidence good and horrible implementations depending on its input.

“So what you do is you take the specifications from the customers and you bring them down to the software engineers?” (Office space)

I gotta say, even this is being handled increasingly well by AI.

moonwalker | a month ago

I don't disagree but that's also a horrible way to run a business. Your customers/clients don't always know best. Their asks might put you out of business long-term.

I think the larger point is that the business of software service providers is increasingly going to go out of business due to lack of relevance.

OBLIVIATER | a month ago

I think something that people probably instinctively understand but don't actually say often is that when people talk about AI replacing jobs like this, it's not like the AI is just going to sit in your chair and do your whole job for you. It's going to look a lot more like what happened at Amazon today, where 10,000 people's jobs are going to be replaced by 700 people augmented with a lot of AI scripts.

balooga | a month ago

I’m an SE. Or was, until I was laid off last fall. AI was never mentioned as a factor in the layoffs but it’s certainly a factor in my prospects for future SE work. I know the state of agentic coding today, I see its trajectory, and I can read the writing on the wall: We’re cooked. I was already burned out and looking for a career change before the layoff. This AI situation is just the last straw for me. In a way I’m grateful I won’t be actively in an SE role as the next few years play out. Still looking for the next thing, but I’m getting the signal loud and clear that it’s time for me to move on from dev work.

Omnicrola | a month ago

What do you think the next thing might look like?

balooga | a month ago

I really have no idea at this point. I want to pursue a creative outlet. I’ve been dabbling in screenwriting and music production. Also continuing in software but on my own terms, as a solo game dev. I still enjoy writing code but it’s the other parts of the industry I’ve soured on.

Omnicrola | a month ago

I've also become more and more drawn to the arts as my career has progressed. In fact the best part of my current job is mostly artistic with a lot of scripting/tech backing it, but the working environment has become rather toxic. I have a friend who was laid off last year, took the severance pay and signed up for a 9 month woodworking class and is having the time of their life with it.

DefiantEmbassy | a month ago

I still remain in two minds about this. Having followed the evolution of agentic programming for the past year and a bit (god, I remember signing up for the closed initial release of Claude Code), the models have clearly gotten way better, increasing the breadth, depth & accuracy of what you can do. God knows we have no idea how far this technology can be scaled: despite hoping the pessimists were right, the functionality continues to get better.

With that being said, these models still require a lot of human steering, and still make many of the hare-brained mistakes I've seen for a year. phoenixk's comment on what was wrong with Cloudflare's vinext fork is right on the money at least in terms of what happens when you let the thing off the leash too much. Or the section entitled Slop Loop Cults from Armin Ronacher's blog post.

It doesn't seem as if the human component is ready to disappear yet. I hope (for my own sake) that it may never.

papasquat | a month ago

It doesn't seem as if the human component is ready to disappear yet. I hope (for my own sake) that it may never.

I really, really don't think it ever can, regardless of how good the models get. Even if the models get to 99.9% accuracy, a large company is going to be totally negligent by not keeping humans in the loop doing code review, which, at that point, you might as well have them inserted into all stages of software development. Even if they don't actually have to do much, the reason you have them there is accountability.

I think of it like another area where automation has gotten extremely good, and has been for years; aviation.

Autopilots on airplanes, for those that don't know, are ridiculously sophisticated nowadays. They're capable of automatically handling just about every aspect of a normal flight, from takeoff, to initial climb, to cruising, to final approach, and landing.

Theoretically, an airline doesn't actually need pilots for 99.99% of flying. You could put passengers on a gigantic drone, and it would work just fine the vast majority of the time.

There would of course, be times when it fails though. If you don't have a human onboard react to those edge cases, hundreds of people die, your airline goes out of business, and hopefully the NTSB investigation gets your board and executive team put in jail for manslaughter due to gross negligence.

Saving the hundreds of millions a year on pilot salaries isn't worth that to airlines.

If your tech company is big enough, the stakes may not be quite that high, but they're still pretty damn high. Having no one at the wheel able to make decisions means that there's no one accountable when something goes wrong. A trillion dollar company isn't willing to accept "the AI fucked up, sorry" when hundreds of millions of subscribers have their account info deleted, or get shown porn accidentally, or a catastrophic problem takes their platform down for a week.

I think it's a valid concern for smaller, very low stakes coding jobs, but for big SWE roles, I doubt they ever go away.

chroma | a month ago

Really enjoyed the blog post you linked. Versions of the "maintainer's burden" are beginning to show up at work for me - well, the slop was there before, but it was manageable - and it's getting out of hand. I had a bad day today because I happened to check Slack and saw a message from a coworker who's by all counts guilty of being a slop cannon, and the thought of dealing with his shit tomorrow pissed me off.

... anyway, yeah, cathartic.

Octofox | a month ago

Yep, right now, high quality outputs rely on high quality steering. What I can get the tools to do is significantly better than what a non technical manager could get them to do.

But who knows how long that will be true for. It might always be true, it might not be true in a few years time. Impossible to make a call when everything depends on the development of something that doesn’t exist yet and might not even be possible.

Great article. It so clearly expresses something we clearly have all been thinking.

There is an economics angle I think the article misses.

We haven't seen a recession in a long time.

In the dot com crash, no one was hiring, and it was mostly tech workers whose retirement was impacted. When companies did hire again, they only needed to pay half as much.

These days tech employment is a much more significant part of the economy. Tech stocks make up a third of the S&P 500.

Companies like PInterest pay out a billion dollars to R&D, which leaves little left for stockholders. They are already looking to change that. Block fired 40% of their workers perhaps to avoid the havoc caused by the rounds of layoffs in the dot com era.

The Jevons effect only really works if companies see actual productivity gains. They haven't yet. Not really. But markets and C-suite are driven by stories. Shiller and Damodaran talk a lot about that.

The story is that LLMs will generate productivity gains that should result in significantly better margins for tech companies, at the expense of tech workers, and the profit of stock holders.

Currently have a K shaped economy, where many are struggling, but a few are doing well enough to drive the economy. If companies stop paying as much to software engineers, it will impact much more than tech stocks.

Even a little bit of overshooting (defined by the article as firing too many engineers) will impact more than just engineers. Once a recession starts, companies will aggressively reduce engineering expenses. It won't be based on productivity gains at all.

The little startups that are forced to grow out of a serious economic reset are often amazing, and that will be where we see the real Jevons effect. We saw how AWS created a new startup culture. I suspect we will see something similar with Claude Code.

It will also give commodities like GPU/ TPU manufacturing, RAM and SSD manufacturing, and electrical capacity a chance to grow capacity. In the near term, it takes a while for these companies to spin up more capacity, and they are unwilling to do that for a tech fad that might be a fly by night phenomenon.

This has been driving up costs of everything, and eventually it will sort itself out, but that takes a decade or so, so in the short term the only way companies will increase margins is by firing even more engineers.

Of course, if this all just a fad, then we are all overshooting.

NaraVara | a month ago

I think the big change with Claude Code will be democratizing a lot of software development. Relative neophytes will be able to set up a scalable, enterprise-tier architecture for an application with very little help. This can only mean a flowering of many many startups and many many internal corporate development projects to solve their problems instead of relying on some commercial off the shelf tool.

It’s gonna be a bad time for B2B SaaS, and any business line that relies on slinging bits around is going to be commoditized out of existence by a thousand bespoke mom&pops. But it’ll be a great time to do IT for a traditional company that has to interact with the real world, making stuff or moving stuff. They’re starved for talent and resources and they’re about to see a world where every random clerk is able to directly solve a bunch of small problems that they didn’t know how to write syntax for automation scripting or macros for before and do now.

NaraVara | a month ago

So one thing I’ll add from my own experience. I started my career as a data analyst/data scientist and it was a role I was very good at. Like good enough to where people were willing to let a lot of unprofessional behavior slide (not anything immoral more things like talking back to my manager in front of others, flouting administrative paperwork stuff, that sort of thing, general refusal to manage up out of pride, etc.) because people were generally willing to let a lot of things slide because I was pretty much irreplaceable.

But I switched career tracks into project management after that initial stint due to burnout (the flip-side of being “irreplaceable” is that you end up being the single point of failure on everything you touch). About 6-8 years in I started managing teams of data scientists and in the time between when I left that specific field of expertise and then started managing people who did the job I used to do the discipline had basically completely changed. Like much of the stuff I was skilled at that set me apart from others were basically table stakes now (and a whole other set of skills that used to be table stakes are precious jewels now but that’s another story) and the level of sophistication of data sets, technical tools, canned functions, and other stuff at people’s disposal is genuinely staggering.

But rather than eliminating data scientist jobs this ended up creating way way more. The job looks a bit different now than it did then. It’s a more python and less stata, etc. but the changes happened gradually enough for people in it that it doesn’t seem like as radical a leap as it is for me who left and came back. It also requires a different kind of brain and background to be good now. Data wonks used to come from the social sciences and now it’s its own discipline. We used to care a lot about the underlying math and methodology details and now you don’t really have to (though I’d argue you still should). It’s all way more efficient now but since the cost of doing analysis has gone way down, people have found way more occasions and places to need data analysis. If anything it’s gone too far and we’re allowing data to make strategic decisions to inappropriate degrees.

But the discipline has changed. You have to think a lot more like a programmer now and you’re less close to the reality the data represents than you used to be IMO. But I don’t think I’d have been as interested in it if it was like this when I was coming up. Insofar as I add value as a manager I often feel it’s more like an ability to inject some of the “old ways” into caring more about what the p value says about objective reality than what your p value says about the data.

All that to say I think over time LLMs will make it so people are still writing software, but the software developers will look different and apply different skills from the ones who came before. For some this will be a natural transition but for others they’re not gonna make it. I think you’ll see some of the work of building new features start being done by people who would be “product managers” today and there will just be a lot more of them and they’ll start learning skills that programmers have now. So it’s not “over” it’s just going to look very different. As different as medicine transitioning from visiting with herbalists and apothecaries to the evidence-based medical establishment we have today.

The technology is still immature so we don’t actually know what LLM-centric business processes will look like. Only once they arise will we start to understand what kinds of tasks and choices will still need a person doing or at least supervising them. I think more than the problem of jobs disappearing I worry about the brittleness and stagnation we’ll be introducing if we cut those jobs in a fit of over enthusiasm for a technology with limitations that the people making these decisions don’t understand.

Eji1700 | a month ago

Out of curiosity I decided to put free model cline to the test.

I code in F#, a non standard language, and have wanted to try sse datastar, a non standard library (but using more and more standard HTMX style stuff).

I basically tried "vibe coding" it from scratch to see how it did with various prompts like "build a snake game using F# and datastar" after making a basic F# console template.

Several hours and 2 totally different programs later, i've had minimal success. There's a LOT of going in loops, walking off cliffs, and the code that started clean devolved quickly. Eventually Cline itself crashed and I called it there. I did of course do iterative prompts, and it CAN be very impressive when it gets it right or solves its own issues, but i also watched it push identical code 5 times before I went in and manually fixed it's capitalization error.

My general thoughts after testing (again):

  1. Obviously, if this was all AI could do it might be an ok starting tool, but it's hardly threatening.
  2. Also obviously "Use a non standard language and a non standard library" is probably a worst case scenario for AI, but I did ask it to do a VERY standard thing (give me a working snake game). Asking for the same output with something more standard I'm sure would work.
  3. Using the free cline model (i forget which one) is much weaker than other models available.

So the question becomes "is it realistic to stop using tooling that AI isn't already good at and just stick to tooling that it's well trained on" and I thin the answer is still "no not really".

The issue is on several levels.

  1. Novel solutions are game changers. I get that letting lower skilled and thus lower paid workers bash out your results could be useful, but a lot of the big players are big BECAUSE they found some tech stack that helped them change the game or punch above their weight. This could be useful for things like "make me a website so I can sell my things" but that's already kind of a thing with templates/services/tools/abstractions.

  2. "Free" is not Free. We're still in the "get em hooked" phase of AI and even then this shit is EXPENSIVE. Companies hate having expensive devs on staff, especially when they feel like they're "wasting time", but i'm not sold that the math is going to work out on AI replacing them especially when it can so easily blow through cycles. Any company forcing AI beyond what's reasonable is probably going to see a higher IT spend. They might be okay with that if they're the kind that panics at payroll but doesn't care about department budgets though. And that's right now while all these companies aren't even profitable.

  3. Personally, most of my job these days is about communication between departments and then working from there. The coding is an important step, but you probably still need someone like me to compile everything into something sane. I don't see many of the people I help actually using these tools themselves to get the proper output, especially since I doubt they'll notice when the AI shanks them in the back and starts dumping out garbage.

Honestly this all reminds me of photoshop. It undoubtedly has changed the game for images time and time again, but you still need the right people using the tools. Few people complain that you can do color correction easier now, but at the same time this doesn't strike me as at the point that a random consumer will pay the extreme costs to be able to do so.

balooga | a month ago

It’s interesting to see what the models do with less popular languages. They’re great with Python or JavaScript but if they haven’t been trained on a large enough corpus of something the cracks begin to show.

I recently started a Codex project with AssemblyScript. I’m deliberately building a workflow around “read the relevant docs first, then code” and requiring a full build in the definition of done for all tasks, but it’s too early to say if that will be effective. AS is very similar to TypeScript (which is why I like it)… I’m not sure if that similarity is going to be helpful or a footgun for the AI. So far I’ve been really impressed with GPT-5.4 though.

tanglisha | a month ago

I don't think my software engineering job exists now.

davek804 | a month ago

Crank that savings rate.

I guess this is the only thing you can control, somewhat.