137 comments

[ 4.2 ms ] story [ 85.8 ms ] thread
> The career of a pro athlete has a maximum lifespan of around fifteen years. You have the opportunity to make a lot of money until around your mid-thirties, at which point your body just can’t keep up with it.

If you believe this about your software career, how do you think your going to switch into another career as a junior and keep up?

Are people seriously thinking that you can make yourself dumber by using a chat UI?

If talking to an AI makes me dumber and a limited career, then all the customer support people that ever existed were in the same or worse position talking to dumb humans on chat all day answering tickets always about the same topics and linking the same docs over and over. This makes no sense.

The differentiator is augmenting reasoning with AI versus replacing reasoning with AI. But those who choose to replace their reasoning with AI probably weren't good at it to begin with; cause if they were, they'd choose to not replace it. Exception is that AI can actually replace reasoning (which it can't, yet) - then it's game over with a career in software engineering anyway.
It will be for those fixing AI slop software. (In fact, they might need several lifetimes.)
Was it ever? It's always seemed weird to me that people even think 'software engineering' is a career.

It's a tool for knowledge work.

No carpenter is a specialist in drills.

It seems to me that the best way to navigate a long term career is to have another specialty and use software engineering as a tool within that specialty.

Unless I'm missing something, there's an obvious logic issue here.

If we truly need to sacrifice our skill to be productive by using LLMs that atrophy us, then the only devs that have a limited lifespan are us. The next ones won't have a skillset to atrophy since they won't have built it through manual work.

Also, I hereby propose to publicly ban the "LLMs generating code are like compilers generating machine code" analogy, it's getting old to reargue the same idea time after time.

If by software engineering, one means typing code character by character into a text editor, sure it's going to be difficult to find someone to pay you for it.

If you mean creating software, well we are creating more software than ever before and the definition of what software is has never been so diverse. I can see many different careers branching off from here.

I keep reading about how AI will be fine because people can just retrain for different careers. However, I never read what those careers are or who is going to pay for retraining.

I certainly don't have the money or time to go back to college and start a new career at the bottom.

80% of my day to day job has never been pumping out lots of code. it is a complicated career is it? we do a lot of alignment, design and thinking. i can't even agree the idea of outsourcing thinking, i think AI is very good at helping us to think clearly, but it doesn't really "think" for us.

if you do that then... likely very replacable.

On the contrary, in an efficient economy, every business operations manager (MBA) would be a skilled software engineer, able to comfortably manage data flows and design custom automated processes. There's so much potential energy there in unlocking this technical literacy.

Less "pure" programming, but lots more programming in general.

> Construction workers don’t say that being a good construction worker means not lifting heavy objects. They say “too bad, that’s the job”

I dont know, maybe in your part of the world, but where I'm from we have a series of robust worker protection laws that try to limit the damage the work does to you. We generally consider it a bad thing for workers to damage their bodies, and if we could build houses without it, we'd prefer that.

In this specific case we do have a techniques to build software without causing damage, so why change that?

This post is arguing that maybe software enginnering should start being harmful, even though we know it doesn't have to. It's a post of a guy begging to be fed into the capitalist meat grinder. Meaningless self sacrifice.

Anecdotally, it feels like something materially changed in the US software hiring market at the start of this year to me. It feels like more and more businesses are taking a wait and see approach to avoid over-investing in human capital in the next few years.

It also feels like the hiring "signal", which was always weak before, is just completely gone now, when every job you do advertise receives over 500 LLM written applications and cover letters that all look and feel the same.

The pro-athlete comparison in this article is bit silly IMO- there are obvious physical body issues that occur with aging if you rely on your muscles etc to make money. If you compare to other fields of knowledge work, such as say law or medicine, there are loads of examples of very experienced, very sharp operators in their 40s and 50s.

Why are we upvoting this?

Virtually, the entire blog is about AI with a ridiculous publishing rate (https://www.seangoedecke.com/page/5), funny how I can look at this site HTML and know right away it was done with AI.

Can we stop upvoting vibe published articles? The arguments are flawed and don't even make sense to anyone who does software

(comment deleted)
I really wish seemingly intelligent people would stop using the abstraction analogy (like the article does). The key word is: determinism. Every level of abstraction (inc. power tools, C, etc.) added a deterministic layer you can rely on to more effectively do whatever it is that you're doing - same result, every time. LLM's use natural language to describe programming and the result is varied at the very best (hence agents, so we can brute force the result instead). I think the real moat is becoming the person who can actually still program.
Are other layers truly deterministic though? Do I know for sure whether that object has been garbage collected or not? How many cycles this instruction will take to run?
Seems the solution here is the same it's actually always been if you want career progression: be more than just a code jockey. The true value of an engineer is to be plugged into overall roadmaps, broader thinking around product, how to achieve company goals, etc etc.

Yes, LLMs might dramatically reduce the amount of code we write by hand. But I'm a lot less convinced they'll solve all of the amorphous, human-interacting aspects of the job.

Was it ever a lifetime career? Haven't most people looked around and asked themselves where are all the 50+ engineers? They basically don't exist in large numbers. Ageism is real in this industry. You either save up enough money to retire early, switch into management, or get forced out of the industry eventually. AI is just accelerating the trend. I see very few junior engineers resisting AI. I see a LOT of staff+ engineers resisting it. Just look at the comments on HN. Anti-AI sentiment is real.
Every 5 years on average since the late 90s the industry has doubled in size. Add in natural attrition (and the other things you mentioned, ageism, management or other tech adjecent careers, etc.), and even accounting for a modest number of "second career devs" starting later in life rather than out of college, you still have an industry that skews younger simply by virtue of overall growth patterns.

I think that is significantly overlooked when people ask "where are the 50+ engineers?".

I'm a 57-year-old engineer still going strong, and I know plenty of others. This job isn't conceptually that hard if you have the experience to break problems into manageable chunks. I probably can't juggle as many things in my head as when I was 25 and proudly cranking out spaghetti code. But experience makes up for a lot of that.

Now, would I relish looking for a programmer job right now at my age? Hell no.

Multiple times per week I have the same conversation. It goes something like this:

  - AI will make developers irrelevant
  - Why?
  - Because LLMs can write code
  - Do you know what I do for a living?
  - Yes, write code?
  - Yes, about 2-5% of the time.  Less now.
  - But you said you are a developer?
  - I did
  - So what do you do 95-98% of the time?
  - I understand things and then apply my ability to formulate solutions
  - But I can do that!
  - So why aren't you?
The developers who still think their job is about writing code will perhaps not have a job in the future. Brutal as it may sound: I'm fine with that. I'm getting old and I value my remaining time on the planet.

Business owners who think they can do without developers because they think LLMs replace developers are fine by me too. Natural selection will take care of them in due course.

Usually that means you're already a senior developer, understanding things and formulating solutions is part of work delegation.

Now those juniors whose job is to implement those solutions, they will have a hard time.

On my 50s, I also don't write as much code as I used to, even less nowadays with serverless, managed services, low code/no code tools, agent orchestration workflows, and with it I keep seeing development teams getting smaller.

Yeah coding speed was almost never the bottleneck I found. AI now does the typing and (some) of the thinking. It doesn’t figure out what needs to be built and how it all plays together (yet).
Anyone read posts like this and picture someone who doesn’t actually do anything all day besides posture in meetings? Probably with a super inflated title and salary.

I doubt this is what the OP does, but there’s tons of developers like what I described and they seem actively proud at not actually building anything and playing politics all day.

> I'm getting old and I value my remaining time on the planet.

It's an interesting sentiment. I, too, am getting old and value my remaining time on the planet, and so I code by hand every chance I get. :) Luckily I'm in a position to be able to do that.

We switched to 'software engineer' to encapsulate that, I think. You can receive requirements and churn out code or you can go up a level and think about the solution. Go another level up and think about the problem. Another level and it's the context of the problem. Further than that and it's the priority of it. And even higher up is how it fits in the product roadmap and the architectural decisions.

At some point you stop developing and start weighing up the requirement against your understanding of the system and the environment it works in.

There's an old Chemistry joke, that I've reapplied to Software Engineering, and it goes something like:

A New Engineer (NE) shows up on their first day on the job, notebook in hand ready to learn. They get assigned to shadow an Experienced Engineer (EE) for their first day.

EE: Now, the thing is, for any project on our team, you only need to change about 3 lines of code. NE, preparing to write down notes: Which 3? EE: Well, it depends.

(Originally about Material Safety Data Sheets, and there only being 3 relevant lines on them).

I think this is what people miss about Software Development.

On one of my very first jobs in around 2000 I got paired with a much more experienced software engineer. He’d been a pro since the early 70s. I was stoked to learn from him.

On like my fourth day he said “now I’m going to teach you the thing that helped me the most in my career…” I waited, ready for the received wisdom. And he said “always number your punch cards so if you drop them they will be easy to put back into order”. I was upset. We were long past the point where punch cards were in use. And then he said “I said what would help _me_ the most, not what would help _you_. Software is always changing”.

I’ve thought about that a lot lately.

I think it's going to be a shift in skill set, like the constant change that has gone before. I've always primarily considered by self an application developer, but of late I've become more software architect, more devops, more tester. Software engineering skills always leaked into these domains before AI, I think it's just a shift in the time spent there now we're not manually writing so much code. And shipping is STILL hard. I've moved my focus to retooling - consolidating much of my workflow in a tool I'm working on https://www.agentkanban.io - A remote kanban board with agent harness integration (Github CoPilot currently) and context management.
LLMs also can “understand things and apply their ability to formulate solutions”. There is nothing that will inherently limit AI from doing all knowledge work (and all physical work once robotics is good enough).

Of course developers could just move up the “next level of abstraction” and become managers of agents who write the code, but eventually AI becomes a better manager of agents than even the best humans, at which point there is no contribution a human can make that an AI model or system of models couldn’t do better.

Let me ground this a bit: at the core, LLMs are systems trained to predict the next token in a sequence. They can learn extremely rich statistical structure from language and become surprisingly capable, but extrapolating from that to something akin to a robust general intelligence is a much stronger claim.

The open question is not “can next-token prediction produce impressive behavior?” Clearly it can. The question is whether scaling that mechanism is enough to produce stable world models, grounded understanding, long-horizon agency, self-correction, and reliable reasoning across novel situations.

That has not been demonstrated.

In the past few years I've repeated the same thing: I'm not afraid of AIs that are hallucinating. They do that by design. It is expected. What scares me is people who hallucinate something into existence which isn't there.

I think similarly. To me value of the "programmer" is not "I love Rust", "I am React expert" etc. That "love" is for sure replaceable.
Engineering in a nut shell... What did we do before computers??? Halls full of draftsmen...
> Natural selection will take care of them in due course

Wonderful articulation. There's a plethora of prognostication about how AI will change everything in software and beyond and the thing I keep thinking is, well, when will the talk stop and the demonstration of results commence. It doesn't seem to have as yet.

If it works, it'll work. The methods will spread and quickly be accessible to everyone, and progress will go on. That's great.

If it doesn't work, we'll also see that in the absence of real results. And simply stating you are seeing it doesn't qualify. It must be something we can all see and use that is unavoidably, undeniably real.

> Natural selection will take care of them in due course.

or you.

Well said, the only flaw is the unfortunate realization that "I understand things and then apply my ability to formulate solutions" is rarely required, how many zombie corps are still roaming these days?

Judging by how many day to day tech products in my life are buggy, slow or user-hostile there can't be more than 50-100 tech companies actually innovating, right?

I had a professor at my CS university (one of the greatest I had) who used to say (in 2008): "a developer should write no more than 5 lines of code a day"
> Natural selection will take care of them in due course.

While you are seemingly not at the moment, some day you might be at the receiving end of that "natural selection" in ways that seriously impact your remainint time on the planet.

In that case you might reconsider your stance, and especially question how natural is the selection of a few powerful rich people depriving others of their way to earn a living and their way to draw meaning from their lives.

The AI revolution keeps getting compared to the industrial revolution, but people keep forgetting the consequences of that one.

10% writing code. 90% reading and understanding code
This is a bit of a strawman. When people say "writing code", they don't necessarily mean [pressing the keys on the keyboard that produces the necessary bytes in a text file].
I agree in some ways, but I think this also overlooks that your job might be like that, but most decidedly “developer” jobs are not all like what you say which is more Engineering. Many people are able to have a career making basic HTML website changes. Are they not developers? Will their job not potentially be replaced by an AI that can make that change in seconds?

It’s weird that people always seem to argue the extremes when reality is jumbled mess in the middle. Will developers lose jobs to AI? Without question. Will many “developer” jobs be eliminated because of that? Without question. Is it probably a really bad time to think you can go from your retail job to fixing people’s website as a lifetime career move? Yeah, probably not the best idea. Would it be smarter to focus on becoming a “Software Engineer” instead of a “Developer”? Yes usually. Does that mean it is a bad idea for EVERYONE to choose to become of developer? No, and that would be a dumb thing to argue.

We’re still going to need developers and definitely engineers, we are just going to need less of them in their current form, just like we needed less saddle makers, farriers and blacksmiths. We didn’t stop needing Horse Mechanics, we just needed less of them because we needed Car Mechanics. Some of those skills transferred, some didn’t.

> The developers who still think their job is about writing code will perhaps not have a job in the future.

The Jira ticket munchers represent a good chunk (if not, most) of the workforce in case you haven't noticed.

Also, just because you will still have a job somewhere not too far from a codebase, it doesn't mean that it will be a worth job having. Think how awful human made legacy codebases can be. Now imagine a codebase 100x bigger without the human friction of generating code (think of all the execution paths that will never be hit but will neverthless be there in big quantities increasing the time you need to understand the codebase). Now imagine that most jobs involve dealing with such codebases.

Good look, keeping your dev job and spending the rest of your career trying to understand AI generated codebases.

terribly written article that failed to make any point. anyone whise read ai generated code from the best models and who understand how llms work, knows this statement is complete bs.
> I hope that this isn’t true. It would be really unfortunate for software engineers. But it would be even more unfortunate if it were true and we refused to acknowledge it.

More AI Soothsaying. Not so hard on the Inevitabilism this time.

https://news.ycombinator.com/item?id=47362178

It never was a lifetime career, if you don't get the dough by 35 you just failed.
Is anything today a lifetime career? I’ve had at least five or six job descriptions over my time, and at least a few of them pretty much don’t exist anymore, or are changed beyond recognition.
Argument A: AI means you don't learn as much, so even though you are more effective, it inhibits your growth and you shouldn't use it. However, on a pragmatic level, it's effective to hire a bajillion people, fire them at will, and get AI to do everything. You will get so many JIRA tickets closed and so many lines of code written.

Argument B: AI means you don't learn as much, and the single most useful work product of a software engineer is knowing how the code functions, so it's depriving your company of the main benefit of your work. Also, layoffs are terrible business strategy because every lost employee is years of knowledge walking out the door, every new hire is a risk, and red PRs are derisking the business.

Institutional and personal knowledge seem similar, but the implications of each are radically different.

(comment deleted)
I'm repeating what others have essentially said, but ask yourself what's on your resume. If it says "Software Engineer" and that's all it talks about, then yea you might not find it's a lifetime career.

But if it's a diversity of things (that use or leverage software development) then you probably have a lifetime career ahead of you.

I've been writing software for over 40 years but I've never seen myself as having a software engineering career. I've been a research assistant in geophysics, a marine technician on research ships, a game developer, an advisor to the UN, and a lot more. Yes all through that I used software, but I did a lot of other things in the process of using it.

It can be incredibly difficult to find opportunities like that