October 7th, 2024

Ask HN: In 2024, is SWE a sustainable career?

The software engineering landscape is changing due to large language models, making job interviews more challenging and raising concerns about task relevance, supply-demand imbalance, and career sustainability for professionals.

Ask HN: In 2024, is SWE a sustainable career?

The landscape of software engineering (SWE) is evolving due to the influence of large language models (LLMs) and agents, which are not automating the profession but are significantly altering its dynamics. Interviews for SWE positions have become increasingly challenging, even in non-technical companies, leading to a more arduous job-switching process. Many tasks within SWE are perceived as unnecessary, with numerous startups focusing on projects that may not contribute positively to society. Additionally, there is a notable imbalance between the supply and demand for software engineers, raising questions about the sustainability of SWE as a career. For mid-career professionals contemplating a switch, considerations about future opportunities and potential career paths are becoming more critical.

- LLMs and agents are changing the software engineering landscape, not automating it.

- Job interviews for software engineering roles are becoming more difficult and time-consuming.

- Many software engineering tasks are viewed as unnecessary or unproductive.

- There is a significant imbalance between the supply of and demand for software engineers.

- The sustainability of a career in software engineering is being questioned.

Link Icon 19 comments
By @marssaxman - 5 months
I am not worried about it. Software development is the practice of automating away repetitive grunt-work, in every industry possible, especially our own; we have always been engineering our own jobs out of existence, but decade after decade, there continues to be ever more work for us to do.

What has surprised me about the near-apocalyptic enthusiasm for LLMs among some software engineers is that there appear to be a great many people who joined the industry expecting to do repetitive grunt-work, as a matter of course, apparently believing that typing out code is the point of it all and not just a means of expression. I can understand why they might be worried about the future, but perhaps they can relieve their anxiety by developing a deeper understanding of the art.

By @dairypharmer - 5 months
In the mid-2000s, I chose not to study software engineering in college because my parents ran a staffing firm that outsourced SWE work to India. I had enjoyed the coding I'd done in high school but had convinced myself there would be no career stability in learning how to program. A few years later, I realized my mistake and had to play catch up.

I see a lot of the same thinking in the wild today. We're adding powerful new abstractions, but a) that doesn't mean we don't need at least some people who can see through those, and b) greater abstraction means we can take on bigger challenges, and there's no shortage of those.

By @Kon-Peki - 5 months
SWE has always been in a boom and bust cycle. Sometimes they love you and pay accordingly, sometimes they hate you and look for any reason to possibly get rid of you.

Some of the best advice I've ever received from senior engineers was to live below your means and to have a high savings rate. You don't have to go to the FIRE extreme and definitely shouldn't make yourself miserable.

What would I do about LLMs? I'd live like this could end up as the last high-paying job of my career. Aside from that, I wouldn't worry about it.

By @fancyfredbot - 5 months
> A lot of SWE work is objectively make-work:

How did you decide on that?

> A lot of startups are building fluff or things that are net negative to society.

But a few startups aren't fluff or negative to society and those will be the ones which succeed. That's how startups work. This isn't a good reason to decide against an SWE career. It might be a reason not to work at a startup.

> Interviews have become nightmares, even at 'non-tech' companies, making switching very time consuming and difficult.

Job switching is almost always difficult. Easy switching is an artifact of boom times and frequently a bad sign (standards tend to drop). I don't think this is a reason to decide against an SWE career.

> Beyond this, the supply for SWEs vs the demand is clearly imbalanced on the supply side.

Demand is below the recent peak, but whether the supply of really good SWEs ever rose to meet demand is questionable.

> LLMs and Agents are not automating SWE, but they are changing it.

When things are changing that's usually a great time to make a career.

By @danenania - 5 months
I'm working on an agent-based AI coding tool[1] that is trying to push the limits on the size/complexity of tasks that can be automated by LLMs, so I think about this often. I'm also using the full gamut of AI tools for development (I have 5 subscriptions and counting).

My opinion is that skilled engineers won't be replaced for a long, long time, if ever. While AI codegen will keep getting better and better, getting the best result out of it fundamentally requires knowing what to ask for—and beyond that, understanding exactly what is generated. This is because, depending on a particular prompt, there are hundreds/thousands/millions/billions of viable paths for fulfilling it. There are no "correct answers" in a large software project. Rather there is an endlessly branching web of micro-decisions with associated tradeoffs.

I think the job of engineers will gradually shift from writing code directly to navigating this web of tradeoffs.

1 - https://plandex.ai

By @MeetingsBrowser - 5 months
There may be a small bit of truth in each claim, but they are mostly false.

> LLMs and Agents are not automating SWE, but they are changing it.

LLMs are maybe a slightly larger threat to SWE careers than the ability to copy/paste code from stack overflow.

> Interviews have become nightmares

Interviews if anything have gotten slightly better. Companies stopped asking riddles like, “how many windows are in Seattle”.

> A lot of SWE work is objectively make-work, and a lot of startups are building fluff or things that are net negative to society.

This has been the case for a long long time.

> Beyond this, the supply for SWEs vs the demand is clearly imbalanced on the supply side.

Tech salaries say otherwise. They don’t pay 3-4x the average household income out of kindness.

> Is SWE a sustainable career anymore?

Definitely, though it depends on your definition of sustainable.

If you want a remote position, 30 hour work week, and a $200k+ salary maybe not.

But lots of people will continue to earn a good amount in an overall cushy job as SWEs for the foreseeable future.

By @ilaksh - 5 months
I've been programming since approximately age 8, so around 40 years. For the past few years have been focused on generative AI, agents, etc. I have built multiple agent frameworks in Node.js, Rust and now Python.

I use AI with my agent system to help me write code for projects and my agent system. The leading edge models are incredible, but still somewhat brittle. They can make some weird mistakes. And I definitely have to go back over things.

But actually given all of the necessary context they can already complete a surprising number of programming tasks with good supervision.

It is night and day beyond the capabilities that it had a couple of years ago when I built my first agentic coding tests.

The thing that people strangely still seem to not get is that these systems will continue to improve rapidly. We continue to break through barrier after barrier with new paradigms. Now we are on the inference time ramp which is going to lead to large gains in intelligence.

There are more significant gains to be had also with things like multimodality and just plain efficiency increases from ASICs.

Beyond that, new machine learning approaches such a JEPA, new hardware paradigms built on memristors, etc.

Robotics and integration of new general purpose machine learning into robots continues to improve.

In less than five years, human software engineers will not be able to compete with AI in most contexts. Not only that, they generally will hold projects back if they are involved.

Before we get to the fully general purpose AI software engineers, platform specific tools with integrated agents can already with current models be very competitive in producing customized software for specific domains.

But it's not just software engineering. It's literally every single job. Including plumbers and all of the physical labor which currently is safe but improved robotics are just a few years away.

It seems obvious to me that normal careers are just not a good plan.

Instead, think of AI and robotics as incredibly cheap labor that will be available to just about everyone. So you become an entrepreneur, or the manager of a sophisticated network of teams of robots/AI running on a blockchain. Think about how to leverage these systems to provide goods and services.

By @JackOfCrows - 5 months
Dairypharmer mentioned it but in the late 90s-early 2000s, you could find a lot of folks on Slashdot saying that there was no point majoring in computer science or learning to program because all those jobs were going to be outsourced to India soon anyway.
By @harryquach - 5 months
> LLMs and Agents are not automating SWE, but they are changing it.

Until an LLM can translate opaque product requirements into a working feature, including covering the nuances and edge cases of the product, I am not worried. I have written software professionally for 12 years and am convinced people skills are what make or break a successful developer. Kindness, empathy and generally being an easy person to work with are far more important skills (IMO) than knowing how to write software.

I consider myself midcareer and do not plan on making a change anytime soon if ever. I believe as long as I need a career (probably much longer) there will be a need for people who can write software.

By @francisofascii - 5 months
From my limited vantage point... companies have had a hard to finding good developers to supported their custom applications, so now they are looking to low-code, SAAS solutions to solve their problems, which doesn't work well either because these tools are too generic and BA types struggle customizing them. So maybe my answer is, if you are good at programming and like it, stay in it. If you are just doing it because its a supposed to be a sustainable job, look into something else you might like, like configuring SAAS solutions.
By @jmrm - 5 months
- About LLMs, AIs, and Agents:

Have you used enough time some LLMs in IDE/editors? At first it seems magical, but the moment you're working on a big project, with multiple libraries, dependencies, and interfaces outside your project files, they are prone to either hallucinate or just use incorrectly existing function or other code parts.

They will help us to do slightly repetitive tasks, like writing unit tests or writing some boilerplate, but I don't expect it to solve big problems specific to your task.

- About people:

I don't know in your country, but in Spain, lots of people outside tech backgrounds/spaces are pivoting to CS, SWE, and similar degrees because during/after the COVID they felt tech people had a lot easier, as because they could WFH, they didn't lose their job, they were well paid, and they could find a new one fast, even if this isn't true now.

This both makes the junior engineer market worse, due to having too much people, and also makes the HR work harder as they have to sieve between more people, but on the other hand, I think this will make HR more concerned about enthusiastic people who learnt by pure interest really useful skills aside formal education, like learning other languages, to use and configure UNIX systems, to use proficiently the terminal, or having done some side projects.

By @SirMaster - 5 months
The world runs on software. So yes, someone who can understand, create, maintain, manage, etc software, i.e. a software engineer is certainly a sustainable career.

I really don't understand how anyone gets the idea that it's not or isn't.

There will always be a need to support, create, understand, and otherwise manipulate the software that make machines and devices work and do what we want them to do.

By @Sohcahtoa82 - 5 months
We're still a very long ways away from LLMs/AI replacing SWEs. I don't even think we'll see them replace SWE in my lifetime, at least not with the way LLMs work currently.

LLMs are great at producing single functions, maybe even a whole class. But they really are terrible architects and can't produce something that requires multiple systems to interact. Their simple method of "predict the next token" is bad at planning and is mainly incapable of producing complex systems.

Until AI gets to a point where you can just say "Create an MMORPG with these features [....]", there will be a need for SWEs. Until then, it's just "Create a function that adds all the stat bonuses from the player's gear" and hope that it can understand your other code that defines the player's gear.

By @trashface - 5 months
I'm probably more negative on this than average since I'm already x-tech and long term unemployed (middle aged) but my take is it was never a sustainable career for _most_ people. A minority get lucky, or are otherwise able to signal the right qualities to retain steady employment.

Even if you do manage to make it as an IC all the way into your forties, you're going to run into the pervasive age discrimination, which is only getting worse. And that is before AI factors and general capitalist job-destruction effects are even considered.

However if you enter the field and treat it as a money pump for a decade or two that will inevitably fizzle out, and you have a plan B career, it may not be a bad way to start. Just have that plan B ready (I did not).

By @aristofun - 5 months
Is any career a sustainable one anymore?

What makes a career sustainable?

By @codingwagie - 5 months
My personal opinion is most software will be easy to write by a junior programmer. There will still be high paid roles, but this will be a low paid profession. Web development, UI, etc will be heavily automated with LLMs. You will guide the model in building the software. It's already this way using cursor.sh, most people just havent realized it yet.
By @dmitrygr - 5 months
I am as worried about LLMs taking my job as I am about parrots or magic taking it, and for the same reason. Do not worry about make-believe stuff.

Interviews are irrelevant if you publish enough good things that companies reach out to you and offer to skip them. Write. Learn. Publish. Thrive.

Building fluff is indeed a serious issue, but there are plenty of places that are doing useful things, eg: Medical. Aerospace.

Demand is weak for javascript monkeys. It is plenty strong in the same places it always has been: solving complex problems in complex systems. Go work there.

By @austin-cheney - 5 months
Here is my perspective as JavaScript developer with over 15 experience and possibly more than a hundred interviews. This includes any job that mentions things like jQuery, React, Angular, Vue, TypeScript, Node.js, Deno, and on and on.

1. Nobody knows how to evaluate for competence, so technical interviews always start with basic literacy and are generally (not always) extremely subjective. This holds true even for senior developer positions. It's the equivalent of a journalist interviewing for a job and being asked to demonstrate writing words or a lawyer demonstrating they can read.

2. There are some extremely talented brilliant people in this line of work, but you will likely never know if you encounter them. Few people in this line of work have any incentives to do more than put text on screen using a framework. That means most of the brilliant stuff happens only in never disclosed personal projects far outside of work or at the largest software companies with budgets dedicated for exploratory open source projects not directly associated with the employer's primary business interest.

3. Low confidence and emotional insecurity are out of control in this line of work. There is little incentive to become an excellent craftsman in this line of work, because its rarely rewarded but frequently discouraged. The primary business interest with regards to this silo of software is hiring. Way back in the day when I first started writing this sort of code it was all about talent discovery, which was very expensive with poor results. So, instead its long become about finding for the lowest common denominator because they are cheap to replace. Many of the developers doing this work are fully aware of this and are utterly reliant upon a single tool or set of conventions to qualify their employment, which is extremely fragile. Worse, most of these people are entirely replaceable by ChatGPT and there are YCombinator start ups already building those products.

4. I have encountered so very many people in this line of work that cannot measure things and cannot write. I am not talking about writing books, but writing quick emails or simple dirty documentation so that you are not repeating the same failures over and over. Based on that, in past years, I would suggest to people offline in the real world that everybody should become a software engineer. If you can pass a 30 minute interview and write your name then you too could have a 6 figure income with low stress sitting at a desk all day. You didn't even need any kind of education.

In summary none of that is sustainable. Years ago I remember people on here scoffing, laughing, and becoming angry at the idea of professional licenses for software developers to identify the capable adults apart from the children in the room. The entitlement was pretty brazen. Then suddenly most of these people then found themselves out of work. Now when I bring up stuff like licenses or certifications the reaction is completely different.

By @purple-leafy - 5 months
I love LLMs. I love the doom and gloom. Why? It’s a giant filter.

Because all the clueless people in the room see it as doom to software engineers, because they have no real skills, and can’t think for themselves - and because of this they don’t understand the pros/cons/trade-offs of the tool that is an LLM. And so, they give up on their career or study something else, and no longer crowd the market. Win for me.

These are the same people that would have feared: the mouse when it was released, GUIs when they became the norm, the internet, low-code, no-code, WYSIWYG editors, and crypto.

LLMs are massively overhyped, someone who knows their stuff that has used them daily would know that. And they would understand how to wield them.

I’m not worried about my career at all. In fact, I’m doubling down hard on software. Tripling down even.

I’m learning as broad as I can, and as deep as I can where I care to.

If you know computer science fundamentals, computer architecture, and system design you are untouchable.

Go touch grass!