Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: In 2024, is SWE a sustainable career?
42 points by throwaway123198 on Oct 7, 2024 | hide | past | favorite | 62 comments
LLMs and Agents are not automating SWE, but they are changing it.

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

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.

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

Is SWE a sustainable career anymore?

If you are mid career today what would you do?

If you are to switch where would you go?



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.


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.


You would have been a lot better off taking over the staffing firm rather than rolling up your own sleeves. The key tenet of capitalism is making others work for you.


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.


Hope for the best, prepare for the worst. I am in my late 40s and based on the ageism I saw in SV theorized the gravy train would come once I hit 50ish unless I went into management. Based on my performance compared to peers I feel relatively secure but more importantly I live well within my means and save and invest a good portion of my net income.


Sounds like a pretty unsustainable career to me


Good thing the high pay balances it out. Also the fact that literally every company needs them to some extent means you can find the specific tradeoffs that work for you


> 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.


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


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.


Appreciate the response and opinions!


I have found that if I read the internet, the world (tech employment) is ending. But if I look at my email and messages; there is more work in front of me than I have time to do.

It’s probably less sustainable of a career than working for the IRS and more sustainable than working as a musician.

Ultimately it comes down to choosing what problems you want to face on a daily basis. If you don’t like excessive change (economic and technological) then it’s probably not a great career for you. If you’re willing to accept those risks and face them like any other problem you will be fine.

I use AI on a day to day basis to code, but it’s not going to eliminate my job anytime soon.


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.


The thing that people strangely still seem to not get is that these systems will continue to improve rapidly.

This baffles me as well. So many low hanging fruits to pick, we literally just started with these large models. One obvious direction is predicting the next video frame. Infinite training data is available.


> One obvious direction is predicting the next video frame.

This is being done. There are incredible generative video models...


I would not call them “incredible”. Video generation is still at gpt-1 level. It will need several orders of magnitude scaling to get to gpt-2 level. We’ve just started making very first baby steps in this direction.


Given the only real mass market "robots" that are popular currently are stuff like hoovers or lawnmowers I can't possible see how trades such as plumbing are at risk any time in the next 20+ years. This is from the perspective of UK / European housing where a huge amount of houses are over 50 years old and so each set up is completely different. Different heating systems, thermostats, piping, connectors. Maybe in a new build property where every house is essentially the same there might be some chance of automation, but in traditional housing I can't see how that would work until robots are essentially "humans".


It's very obvious that humanoid robots will be quite capable and mass-produced in well under 20 years. Just do some searching on YouTube for humanoid robot and combine that with the progress in AI. The robots are improving quickly. I would be surprised if we didn't have something quite useful for the price of a car in less than 10 or maybe even 5 years. Just look at the state of the art and project improvements every year.


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.

This doesn't make sense to me... It is a genuine doubt: if you, and everyone else by extent, have the same ability to create a product or service, that can be easily replicated by AI, what value you are creating? What will you sell? Who will want to buy what you're selling if everyone can make the same thing?


Have you seen the average person’s Googling skills. How are they going to be able to produce anything complex with an LLM?


> So you become an entrepreneur, or the manager of a sophisticated network of teams of robots/AI running on a blockchain.

Wont managers and entrepreneurs be automated as well? Their jobs are not neccessarily harder to automate than software engineering.


If AI agents do get better than human SWEs, they'll also get better than their human counterparts at other jobs - including being an entrepreneur.

When people call out the doom of SWE careers at the hands of AI, they seem to think that only SWE careers will be affected, which seems weirdly biased to me. If AI comes for our jobs, it'll come for everyone's jobs. And if that is the case, economics/capitalism as it exists today doesn't make any sense anymore.


I'm not sure I agree. LLMs are great coders, because we have a lot of training data to make next token prediction work well for writing software programs.

A mistake to make here is to conflate 'AI' with some non sensual dream of 'AGI'.

LLMs are able to do a lot of what a swe does and if nothing else that just means we need less SWEs.


It absolutely still makes sense. It just won’t be so great for the humans.


In which case there will be massive social upheaval, which won't be good for the newly minted god-CEOs. They are incentivized to share the spoils of infinite productivity. What good is being a god of a world in flames?


> The thing that people strangely still seem to not get is that these systems will continue to improve rapidly

Where is the plateau though? What we have so far is definitely impressive and useful in some cases, but I can't help but eye-roll every time I hear someone seriously talk about making nuclear reactors JUST to power the millions of GPUs needed to train these models.


We have already seen multiple plateaus as we reached barriers in terms of scaling the models the hardware and software. We have continued to innovate and break through them. The latest barrier is scaling training via inference time.

New hardware and even learning paradigms are being researched to get us over the next wall. This has been shown time and time again we keep innovating.

The power requirements with force investment to scale out the new memory-based compute paradigms.


I would love to hear your experience around building agents

And how did you even got started with building agents


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.


> 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.


Have you used the SOTA models? Can you honestly say that any person is easier to work with than an LLM? Have you seen the capabilities of the realtime voice API that OpenAI just released?


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.


- 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.


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.


A lot of people who get the idea that it isn't (a sustainable, valuable career) give me the impression of asking a tangential question:

> Is SWE a career that will remain in insane demand, commanding outsized salaries and giving crazy perks.

May be, may not be, but as you said - the world runs of software and will like continue to do so.


I guess my definition of what makes a sustainable career does not at all need to include "being in insane demand", or "commanding outsized salaries and crazy perks".

Maybe the question is being asked by people who got into this industry to get rich or something, I don't know.

I got into it because I love working with computers and making software and it seems to pay fair enough for me. I don't see any shortage or work or opportunities to make software and make more than enough money to live a comfortable life.

To me that is a perfectly reasonable definition of sustainable.


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.


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).


"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."

Is this really the case? With the demographics of today, where can employers find all these young SWEs to replace the older SWEs?


I don’t think general population trends are mirrored in the distribution of potential software engineers.

More of those attending university are pursuing SWE-related degrees than ever.


IMO they don't replace them 1 to 1. They will eliminate jobs over time, or, hold employment steady as population increases, therefore its a shrinking industry. Anyway I understand we are still producing 100K CS grads a year in the US alone, so they aren't going to going to run out of young people any time soon.


What are you considering right now as a plan b?


I have no plan. I'm not actually good at anything else, and TBH I wasn't great at software. So I'd need to retrain for something. I have always been a stingy spender so I have enough money to go for 10 years, perhaps significantly longer if there is no crisis.


Is any career a sustainable one anymore?

What makes a career sustainable?


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.


I think it will be the opposite, actually. AI seems to be eating the bottom, but there is still demand for higher level decision making that seniors or architects do. The stuff that I would usually delegate to junior devs, e.g. "move this button" or "change this column" are the things it can easily do now and in the near term. But questions like "How should I design this system" are not and I don't see that happening for a while. People who are good at that will still be in demand since a good number of businesses still want a person they can talk to an make evaluations with.


If juniors are being cut out and seniors are being increasingly relied upon to do more and more, that seems to be unsustainable in the long term


The flip side of this is that AI tools can enable much faster learning, so the time to go from junior to senior can potentially become much shorter for people who are motivated.


It could (and ultimately I agree it's probably what they should), but that's not what people are seeing juniors do. They're seeing them blindly trust the AI tools and think they don't have to learn what they're doing. So they're building at best a fragle understanding of the code their writing.


Since the results of that approach are predictably bad, I think it will sort itself out. A junior who works like that is already less productive than an LLM in the hands of a skilled engineer, so there isn't really any reason to keep that junior around. But a junior who is using LLMs to rapidly improve their skills can be seen as a good investment even if it takes them some time to become a net positive on the team.


I agree, but I think it'll take far longer to happen than people expect. Kids are making it all the way through college (at state or regional universities) without needing to adjust this approach at all.

These kids are going to be convinced that it's a valid strategy. I'd be surprised if many didn't claim they were being unfaily discriminated against in their first couple of jobs instead of fixing the behavior.


If anything, AI tools are doing the opposite. You don't acquire those skills by outsourcing your thinking to an LLM.


It depends how you use them. If your goal is learning and understanding, you will use LLMs much differently than if your goal is to produce copy-pastable code with as little effort as possible.

Honestly, I do a bit of both depending on the situation. Sometimes I just want a one-off script that does xyz and I don't really care enough to have a deep understanding of every detail. Other times I'm getting a crash course in some advanced concept and in an hour I have knowledge that previously only someone with years of experience in a niche domain (and a lot of patience for my dumb questions) could have given me.


welcome to capitalism…


The SOTA models can absolutely create system designs very effectively. Have you even tried that?

Like literally, let's get someone to randomly propose a few specs. Then we get some developers to try to create a system design. Some have Claude 3.5 Sonnet or o1-preview to help them work on it. Some of them have you to help. Each group has one hour.

Then we have another group that evaluates the system designs on some number of objective criteria. Feasibility, completeness, robustness, etc.

I'm willing to bet that a significant percentage will prefer the system designs made with the AI as an aid rather than your help. Because they will be better.

That's today. The LLMs continue to get better every few months.

It's true that we still can use human engineers for "awhile". But that is probably only a few more years.


I have not tried that, no. I'm not even sure what a SOTA model is (which is my other issue with AI right now: the fragmentation). Sure, the AI design can be done quicker and may be "better" by some objective measure. However, can it present its model to upper management in a coherent way to justify the budget it is about to be given? Can it translate this design into a series of tasks for (surely AI) engineers to implement? Can it deal with late-breaking changes to the design based on new requirements? You'll tell me it probably can, or shortly will be able to. The thing is, as long as humans are making the ultimate decisions, they'll probably want another human in the loop somehow, at least within this generation.

I mean, look, there's no one who wants to stop having to write code more than me. Our industry is full of make-work and pointless drudgery for no reason and I'd love to see that be made pointless by AI. But there's the old quote about overestimating the short term progress and underestimating the long term progress that applies here. Your version of "awhile" is probably pretty similar to the "awhile" of people excited about past technologies. As another comment pointed out, we engineers have been trying to automate ourselves out of a job for quite a while now and I don't see this being much different. I'm old enough to remember the 4GL fad and people were just as breathless then that you didn't need those pesky engineers anymore and soon you'd be able to do similar things as AI is promising. Low-code was a thing recently too. These things gradually chip away at the skills you need to make things happen, but something has to ultimately be responsible for the results and that's where humans come in.


this is exactly right. the problem is going to be getting people from junior to senior.


Honestly, even in practice the number of 'senior' people are laughably high. Tbh, swe leans junior.


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.


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.


Ya, I've been a fan of a license due to how bad interviewing is. Why do I need to keep proving my competence over and over?


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!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: