Ask HN: Am I getting old, or is working with AI juniors becoming a nightmare?

52 points by MichaelRazum ↗ HN
This is already the second time I’ve observed this. People coming from highly respected universities are doing everything with AI. It’s even hard to argue with them, since it’s all cross-checked with ChatGPT and similar tools.

The picture of software development also looks completely different. Code that used to be readable in a few lines becomes 100 lines—overblown because, well, code is cheap. Now, I could argue that it makes things unreadable and so on, but honestly, who cares? Right? The AI can fix it if it breaks...

So what do you guys think? Is this the future? Maybe the skill to focus on is orchestrating AI, and if you don’t do that, you become a legacy developer—someone with COBOL-like skills—still needed, but from the past millennium.

35 comments

[ 14.1 ms ] story [ 1516 ms ] thread
Yea, the development process is changing rapidly now. We are in this transitional period. I have not idea where we will end up but it will be different place vs were we were like 1 year ago.
>So what do you guys think? Is this the future?

Yes. The feature is quickly produced slop. Future LLMs will train on it too, getting even more sloppy. And "fresh out of uni juniors" and "outsourced my work to AI" seniors wont know any better.

There seems to be a disconnect, with some people claiming they don't write code any more, only specs, and me trying to get Copilot to fix a stupid sizing bug in our layout engine and it Not Getting It.

Is this because the guys claiming success are working in popular, known, more limited areas like Javascript in web pages, and the people outside those, with more complex systems, don't get the same results ?

I also note that most of the "Don't code any more" guys have AI tools of their own to promote...

> Is this because the guys claiming success are working in popular, known, more limited areas like Javascript in web pages

Nope because this is all I do and the AI doesn't do it right either

AI tools can certainly fail to fix bugs, but if you’re consistently finding them of minimal use for debugging, I’d say that you’re either working in a fairly niche domain or that you’re maybe not fully exploiting the capabilities of the tool.
Don't forget how many people here (and elsewhere, but especially here) need you to think this stuff works better than it does because they're selling it or otherwise benefit from its success.
Indeed, there's quite the echo-chamber of agentic encouragement going on, but the overwhelming feeling is that everyone's shilling and no one's buying.
I'm one of those don't-code-anymore guys, but I'm not trying to promote it as "the way", it just happens to be the tool that works best for me.

I'm not sure what the difference is between your situation and mine. Many vibers try to say you're not doing it right, but I think people forget what an incredible diversity of use-cases are out there, and how many are bound to fall outside the norm. The "blame the user" attitude is irksome IMO.

I do a lot of greenfield coding. AI is easier to use in that situation - code bases are smaller and you can orient the project from the ground up. So that could be a difference.

When I take over an existing project, I have a bootstrap phase to get it working well with AI. I have the AI write a lot of documentation, and at the end of every coding session I have it update the documentation based on the code diff. When using AI to code, documentation is code to the AI, so it's important to keep it up to date, but thankfully AI can take care of that.

In the case of a bug that takes repeated attempts to get right like the sizing bug you describe, I stop and assess - ask the AI to describe the algorithm, point out that it's error prone and ask why, ask it to come up with ideas for simplifying the code. AI is amazing at insights, not so much at decision making, so I try to have it summarize and feed me information and direct it from there.

Also, feedback loops are incredibly important - the ability for the AI to self-test its work is paramount. Without that it just stabs at hard problems randomly hoping that the fix works. Nearly every difficult AI-can't-do-this problem I've worked through has involved setting up a mechanism for it to self-test.

Sometimes I do have to crack open the code to look at it, but that's increasingly rare. I can't remember the last time, TBH.

I gave up using VSC and copilot long ago, FWIW. Claude code on the command line in a sandbox and let it rip. I don't think it's possible to get the same level of automation in the VSC environment.

Dunno if this is helpful at all, and I'm not pushing you to use AI. I'll just say that that my experience with it is amazing and it's an incredible time saver. Keeps me focused on product level issues rather than micro-managing code issues.

(And, to be clear, I have no AI tools that I try to promote. Just a contractor doing work for other people.)

I think all of this has a dark future. And this can be argued based on how AI works.

AI systems look at code on the internet that was written by humans. This is smart, clean code. And they learn from it. What they produce — unreadable spaghetti code — is the maximum they can squeeze out of the best code written by humans.

In the near future, AI-generated code will flood the internet, and AI will start training on its own code. On the other hand, juniors will forget how to write good code.

And when these two factors come together in the near future, I honestly don’t know what will happen to the industry.

The AIs seem to be getting better faster than the training on it's own code thing becomes a problem. Dunno about the juniors. Maybe they'll become 'prompt engineers'?
But it's not all smart, clean, good code... I've seen AI repeatedly make the same kinds of errors and interpretations that I would expect from a human working on something. I find that more time in planning, (pre)documentation and testing, even some TDD helps a lot.

I agree, that AI generated code will really start to piss in the pool so to speak. I'm not sure the models will get better without a lot of hand curation and signals of what is good vs bad vs popular code. They emphatically are not the same.

It's a problem. Seniors with AI perform far better because they have the skills and experience to properly review the LLM's plans and outputs.

Juniors don't have that skillset yet, but they're being pushed to use AI because their peers are using it. Where do you draw the line?

What will happen when the current senior developers start retiring? What will happen when a new technology shows up that LLMs don't have human-written code to be trained on? Will pure LLM reasoning and generated agent skills be enough to bridge the gap?

It's all very interesting questions about the future of the development process.

Indeed, great (though scary) questions to ponder. There are two possibilities I see:

1. AI gets better enough fast enough that by the time the senior people are retiring, it won't matter anyway

2. Software becomes mostly unreadable and nobody really understands how it works, but the AI is good enough that this is ok

Both are hard for me to imagine right now, but if you'd asked me five years ago if AI would ever be good enough to commit to my codebase, I would have said, "I really doubt it". Yet here we are, AI code is sometimes better than handwritten code (depending on the person of course).

Would love to hear others thoughts on these as well.

Reviewing code becomes more arduous. Not only are the pull requests more bloated, the developer who pushed them doesn't always understand the implications of their changes. It's harder to maintain and track down bugs. I spend way too much time explaining AI generated code to the developer who "wrote" it.
Personally if I see a PR that's not readable, I send it back immediately without much of a read-through. AI or not, the code should be readable or it's not maintainable by people or AI
Yes, absolutely, if you don't use AI in coding you will be a legacy developer sooner rather than later.

Everyone seriously doing it has a bunch of agents in a corporate like structure doing code reviews, the bad AI code is when someone is just using a single instance of Claude or Chat, but when you have 50 agents competing to write the best code from a single prompt, it hits differently.

Meta/Google/Anthropic report 75%+ of coding is now AI. For every engineer orchestrating AIs -- X will be let go -- but at what ratio 3:1? 5:1? 10:1? Seems like its at least 3.
Of course Anthropic is going to report whatever they want to sell more shovels. This metric from an AI provider is not interesting.
> People coming from highly respected universities are doing everything with AI

Nowadays, everybody is doing everything with AI, young and old alike. It's very hard to justify not doing it. That being said, you can produce good code with AI, if you know what it should look like and spend the time to prompt and iterate.

I realize I am an extreme outlier, but I have not yet once used AI in my software development job.
MichaelRazum, you're hitting on something crucial many of us in the trenches are seeing. The "code is cheap" mentality, as you call it, leads to bloated, unreadable code. As baCist points out, if AI starts training on its own generated code, we're headed for a real problem with quality degradation.

I've found experienced developers leverage AI as a force multiplier because they can scrutinize the output, unlike juniors who often just paste and move on. The real skill is becoming an AI orchestrator, prompting effectively, and critically validating the output. Otherwise, if you're just a wrapper for AI, then yes, you become the "legacy developer" you mention because you're adding no critical thinking or value.

My own repeated analogy is that it's been a lot like managing/leading a few foreign dev teams on a project. You have to document a lot more and have really well defined tasks, you also have to have dalliance in follow-up and QA/QC. The real difference is that you are getting results in minutes instead of days.

I can't imagine the people using many agents in parallel are actually even checking the fitness of the output they are generating, let alone the design, structure and quality of the code itself.

It's still crucial for senior level people to review and scrutinize code generated by Jr and AI developers.

There's always been the need to verify the code matches the business requirement, right? It used to be when you asked someone why they wrote the code the way they did, they'd tell you they thought it was the right way because X or Y. But with AI they can respond saying they actually don't know why they wrote it a certain way. That's just what ChatGPT or Claude told them to do. So, that's the nightmare part that people are experiencing.

Code reviews are important and software architecture skills are just as important now.

Many here will be sad but there will be a day when writing code is seen as as antiquated as using a slide rule. It is coming.
I know how to use a slide rule, but only because my grandpa taught me. He was an electrical engineer with serious mastery of analogue circuits and relays, and a passion to explain; but he never really grasped what my father was doing as digital chip engineer + programmer... My father gave me a great start on Unix, C & Perl. And I haven't managed to teach my children nearly as much code as I hoped (some Scratch/Snap! and python lists but not dicts yet), and they're already beginning to "but what for, AI..."

P.S. I'm reminded of the short story "My Father's Singularity" (https://clarkesworldmagazine.com/cooper_06_10/) wrt. the gradual way change accumulates until a significant gap has grown.

Yes. It's even more frustrating when you land in an office full of them.
We strictly don't use agentic development, so it's not so much a problem for us. Copying and pasting from LLMs is about the height of our AI use, aside from the AI auto-complete in Visual Studio, and any new starters are made aware during the interview process that agentic dev isn't permitted, so we cut it off at the source.
Ask AI to ruthlessly reduce cognitive debt, purge unnecessarily defensive code and be extremely pragmatic about what you want to build. If an AI junior is building you Vault when you just asked for a secret rotator script, he's just showing off. Gently pull him from the clouds, since this is also within the JD of a senior engineer.
I don't think many people expected things to change this rapidly even just a year ago. will we be able to completely keep 'spaghetti legacy code' under control? Or will the sheer drop in the 'cost of code' actually make maintenance even more of a nightmare? I'm not entirely sure, but one thing is certain that we are definitely at an inflection point right now.
Still find I get gaslit too much to make it much faster than coding myself and then therefore learning and understanding whats going on...