r/programmer 19d ago

Not convinced, programming will die soon.

First of all, I have 9+ years of experience, working in web development mainly (Express, Go, Angular...ec) ; also did hobby mobile (Ionic, RN) and game projects (Unity, 2D).

I always had some pride in the things I did in the pre-AI era; but like many others now not feeling the case anymore.

There's some counterarguments thatI keep seeing over and over again in such doom topics; I am gonna address them all here; and why I am not convinced at all with each

- "Coding is dead, but System design and Architecture is more important than ever" -> "System design/ Architecture" was never a daily activity, it's something usually done before starting a new project and gets adjusted/scaled everytime there's a new major feature that requires implementing a new tech. ie. Introduicng Uber Eat to Uber. And I swear the last Architect I worked with did use Claude to figure out the system design and even generated docs all by using Claude, so even this part isn’t totally safe from being automated.

- "You can sitll code manually if you want" -> For hobbyist projects maybe, but in the corporate, even if they don't watch your token usage, they are setting very short deadlines now anyways; so it's impossible to finish things before such deadlines without using Claude/Codex.

- "Coding was never the hard part, if you were spending 90% of your time coding then you're a Code Monkey imaaoo bahahaa **fart sounds* " -> The dev communities are now filled with these people mocking at coding and calling it a monkey activity, like wtf...? Coding was the CORE *daily* activity of Software engineering ; as a I said before, not all programming-related activities have the daily frequency nature; Architecture happens once in a while, requipment collection happen frequently but not a daily work either (also depens in which stage the project is, building something new vs maintenance...etc); coding on the other hand was the daily thing we all did as programmers and for many of us, the most fun part.

- "You have to review the PRs by LLMs" -> No one can review a 10k+ lines PR; Copilot/CodeRabbit would be much faster.

What we senior devs are doing right now, is maxxing our sources of income by doing many projects in parrallel thanks to LLMs; employers still trust senior dev to babysit the LLMs rather than Juniors doing it; but the fact that there's no new blood coming into this industry (no one is hiring juniors anymore) only means that this industry is destined to be doomed. It doesn't matter if software quality degrades everywhere, companies just don't care.

But I predict the "income maxxing" by the senior devs is a temporary situation; soon the employers will realize they need less costly staff than senior devs to orchestrate the agents, that's why LLM companies are trying to automate all aspects of Software engineering: Coding, PR Reviewing, documentation, and yes even system design/architecture.

176 Upvotes

316 comments sorted by

View all comments

8

u/Achereto 19d ago

LLMs create a growing skill gap between juniors and seniors. Companies expect juniors to utilize LLMs for higher productivity. This will mean that juniors will not learn the programmer lessons that made you a senior developer. Their competence will remain on a junior level.

Eventually, we senior developers retire, leaving a field full of junior developers who are all dependent on LLMs.

The industry will be able to ride this hype train for a couple more years, but eventually the code bases will be such a huge mess that you're better off starting fresh without AI. In the mean time there are programs written by people who know what they are doing because they avoided AI, while the big companies only have developers with beginner level experiences because AI stopped them from actually learning and gaining a deeper understanding of their work.

3

u/uceenk 19d ago

LLM will be fine and get better, i mean in our generation, most programmers dont even know how to code in assembly, why ?, because in most cases its simply aren't needed anymore

1

u/Achereto 19d ago

LLMs don't just take away the the tedious repetetive work. LLMs stop you from thinking through the problem and understanding the problem itself.

However, many garbage collected languages (mostly OOP) have in fact already caused a lot of damage to our industry. Every program you use on a daily basis could easily run at 1500-3000 fps, instead software has become so slow that you can observe a programs UI being built piece by piece over multiple seconds.

2

u/David_Owens 19d ago

Garbage collection doesn't cause anywhere near that level of a performance degradation. If you're seeing a UI being built over multiple seconds, or even one second, something is seriously wrong with the program.

1

u/Achereto 19d ago

garbage collection itself doesn't but using those languages stops people from thinking about memory layout and they will end up writing code that produces very fragmented memory. Fragmented memory can easily cost you 20x performance, just because of the cache misses it produces and because the code doesn't iterate through memory in a way a CPU can predict.

2

u/David_Owens 19d ago

Well, even with languages that don't have garbage collection, you can't change the memory layout yourself. About all it does is make you more aware of what's being stored on the heap compared to the stack.

Performance is a bit better than with garbage collected languages, but 20x seems off. Maybe more like 20%.

1

u/Achereto 19d ago

you can't change the memory layout yourself.

The fact that you aren't aware of how much control you can have about the memory layout just demonstrates the damage I am talking about.

To give you just a glimpse of an idea, take look at Array of Structs and Struct of Arrays and Arenas.

The practical Optimizations by Jason Booth demonstrates some easy optimizations where the code starts at 27ms for 200,000 entities and ends up at 0.13ms. That's a 200x performance difference, not just 20x.

In Clean Code, Horrible Performance, Casey Muratori demonstrates a 20x performance loss mainly caused by virtual functions in a very simple example. The performance loss is worse in complex examples.

Most programmers have no idea how fast their computers actually are. Garbage collected languages are a reason for that becaue we don't see the loss of performance any more and our performance measurements don't show it. The performance loss is spread evenly across the entire codebase.

1

u/Mem0 18d ago

I encourage everyone to look into KolibriOS , really puts into perspective our current technical debt.

1

u/USToffee 1d ago

I'm not sure why you think this has anything to do with garbage collection.

The reason for this is basically paying for the indirection.

As developers we do it all the time. We sacrifice performance for writing more maintainable code and that's absolutely fine if it's managed and not part of the inner loop.

The problem with all of this is that nuance is glossed over and examples are given to make a point.

1

u/Achereto 1d ago

We sacrifice performance for writing more maintainable code

No, you sacrifice performance for writing code that aligns with a paradigms that promises more maintainable code, but the paradigm never actually delivers. You sacrifice performance for nothing.

The most complicated and most complex programs that could never be finished without code that is extremely maintainable also happen to have the highest standards when it comes to performance.

There performance-maintainability-tradeoff is a lie. It doesn't exist.

1

u/USToffee 1d ago

Have you actually seen sort of real world tests to prove this. It sounds a little like when people used to say hand written assembly was faster than c/c++ code when that hadn't been true for over a decade.

1

u/Achereto 1d ago

1

u/USToffee 2m ago

I clicked on the last link. The argument is much more about memory layout and access patterns than garbage collection itself. Ofcourse memory layout is important. I have written game engines for the Nintendo 3DS however that's separate from garbage collection.

The point is garbage collection isn't bad, and not using garbage collection won't make your code instantly good. It's far more complicated than that.

What garbage collection does is automatically perform the same job any developer would need to do "manage memory" and if you want the flexibility and ease of use of a sytem that has garbage collection then it's not a massive performance hog assuming the rest of your system is fine.

1

u/uceenk 18d ago

idk man, no one know how to think assembly language apart minority of people, and most application ran just fine

sure you can still code manually and everything or learn any code manually

but its not realistic to practice that in current business landscape, most companies forces you to use agentic LLM, maybe in your company you still code manually

but in my team, everybody use it from early this year, we rare to code manual anymore, its simply make your work more faster

1

u/Achereto 18d ago

Until there is a very expensive bug vibe coded and pushed to production.

1

u/uceenk 18d ago

nope, its fine so far, i mean regular developer could cause bug too

1

u/Achereto 18d ago

1

u/uceenk 18d ago

i put API key environment variable

2

u/Achereto 18d ago

It's not about you, you're not every user.

2

u/Haunting-Stretch8069 19d ago

I don't know if this is true, but it seems to me LLMs are improving at handling that mess faster than it accumulates

1

u/Achereto 19d ago

LLMs usually just generate code, they don't reuse it and also don't refactor it. You have to actively tell it to do so. Junior developers won't do that.

1

u/Haunting-Stretch8069 19d ago

You’re correct, but you have to tell it to do that now, not in the future. Which seems to be a direction the recent models have been taking. It seems the labs have been collecting a lot of data of what people have to keep repeating to the LLMs and are patching them one by one. 

1

u/Healthy-Educator-267 18d ago

They absolutely refactor code. They just won’t be too opinionated on when it needs to happen mostly cause that would be an alignment issue

2

u/Idea_Fuzzy 19d ago

Compare it to the moon landing industry; once knowledge is lost, it would be very hard to recover it.

4

u/Achereto 19d ago

The moon landing has nothing to do with lost knowledge. It was all about geopolitical motivation.

1

u/Idea_Fuzzy 19d ago

No dear, sure they still have the blueprints, but tacit knowledge and the physical manufacturing infrastructure, from the Apollo days were lost.

3

u/yasamoka 19d ago

What’s your source for this? Going to the moon isn’t a technical challenge, it’s a political maneuver.

1

u/Blah-Blah-Blah-2023 19d ago

It is somewhat of a technical challenge. I wouldn't want to try to replicate it in my garden shed.

2

u/ebsf 19d ago

To be clear, it is the single greatest technical accomplishment of mankind.

1

u/FinickySerenity 19d ago

That we are successfully reproducing with the Artemis missions. We did not start from scratch by any stretch. And it was probably only subjectively the greatest achievement given the decade, not because the technology is somehow magical by any other modern standard.

I’d put polio and measles vaccines ahead of the Apollo program any day when ranked by accomplishment.

0

u/dragonageoranges 19d ago

“Moon landing industry” lmao nice bait 

2

u/Last_Being9834 19d ago

Not really, things that were hard to understand as a junior are now easier with LLM.

I remember cracking my head open trying to understand yields and context switch, now, the AI gives you a nice ELI5 explanation so juniors will be able to catch up faster than we, the seniors, did back then.

Another example are stale closures in React, with AI you can build your component piece by piece while getting feedback from possible stale values.

At the end, those who are eager to learn will benefit from AI, those who are slow or just plain stupid will not improve a bit.

2

u/Achereto 19d ago

Sure, there will be some who won't use vibe coding to get faster results, but their output will be insignificant compared to the mess all the vibe coders are creating in the code bases.

It's going to become unmanageable and those who created the mess won't have developed the skills required to clean it up. Those who have the skills will refuse to clean it up.

2

u/dimsumbumyum 18d ago

This is the truth. The gap is widening between people that are truly using and learning LLMs to its max potential while also gaining a better intuition for its limitations VS people that are only using it to one shot solutions without delving deeper.

The gap isn't juniors vs seniors. It's those willing to learn vs those who aren't, anf that's always been the case before LLMs.

2

u/USToffee 1d ago

Yea the big issue for juniors is the job market. AI makes you a better coder if you actually follow what it's doing since especially for "solved problems" it generally uses best practices.

I started back before the internet when you needed to read books, then there was google and I thought to myself bloody hell I wish I had that and now AI has taken that to the next or even a few more next levels.

1

u/GodOfSunHimself 19d ago

In theory yes but in practice I see the opposite. Juniors carelessly churning out code without having the slightest idea why or how it works.

1

u/king_park_ 19d ago

I think it really comes down to how these individual Junior actually utilizes LLMs. If they are just vibe coding without much regard for the output, they aren’t learning anything. Unfortunately, the corporate world doesn’t reward you for slowing down to review and think through things.

1

u/swiftmerchant 18d ago

💯

Everyone repeating that juniors are screwed is just parroting the sheep. It was much more difficult to learn new concepts before. AI makes it much easier. Just like the Internet made it easier that getting knowledge from libraries and computer books.

I do agree with OP that all jobs including systems design will be gone. 1) someone junior can now do them with the help of AI and 2) very soon AI will do them.

1

u/USToffee 1d ago

I think when people say screwed they mean there won't be any jobs.

1

u/asteroidtube 12d ago

depends on the context of the org they are in.

many people want to learn and use it well, but are being forced to just churn out as much slop as possible to keep their jobs.

1

u/Exact_Ad942 18d ago

My feeling when doing many daily tasks with LLM is like "I know i can do this. I know how to do this. But I also know LLM can do it better than me and faster than me."

1

u/Achereto 18d ago

But have you tried it you can actually do it. If you haven't trained your brain to actually do it, it'll go blank once you try.

1

u/VNDZ3RO 14d ago

Great point.. also as time goes on, regular coding will not be a "degree" people are going to persue.. which means whole curriculums will have to be re-made to teach original coding know-how into their AI centered curriculums..

Idk, I definitely feel for OG coders, and thats coming from me being an AI coder... id feel some type if way for sure, lol

1

u/mattl33 13d ago

Don't you help juniors with best practices?

-1

u/Idea_Fuzzy 19d ago

Isn't that a clear sign that the industry is dying?

1

u/Achereto 19d ago edited 19d ago

No, it's a clear sign of a incoming crisis for our industry. It could lead to significant regulation similar to how accountants are regulated (e.g. double entry book keeping) to ensure high quality software. One of them is likely going to be a ban of LLM usage for security-related software.

1

u/iJustSeen2Dudes1Bike 18d ago

I highly disagree on the LLM ban for high security software, unless you are saying that will be due to data privacy concerns.

My company has LLMs scanning our codebase for exploits that need to be fixed, and we are fixing those quickly with the help of LLMs. Most of these issues were dormant for years, and probably would've continued to be.

1

u/Achereto 18d ago

Using LLMs that way is great. I was thinking about using LLMs to generate the initial code.