Live data from Hacker News

Ask HN: How should junior programmers use and/or not use AI for programming?

news.ycombinator.com

31–40 of 45 posts

Re: Ask HN: How should junior programmers use and/or not use AI for programming?

#31
AI is training wheels for programming. Hint: Training wheels are actually counterproductive for learning the dynamic balance skills it takes to ride a bike.

New programmers should learn the relevant skills on their own: choosing the appropriate relevant abstractions, writing the code, testing, debugging. Maybe someday AI will be able to help talk them through the concepts and process, but I wouldn't trust today's LLMs without CLOSE human oversight. They're still just drawing refrigerator poetry out of a magic, statistically weighted bag of holding.

If you're mid-level or senior and you think "mash button, get slop" will help streamline your workflow in some mission noncritical way, go for it. Slop is convenient, and can free up time to focus on what you think is more important -- Hackernews was all in on Soylent because being able to keep your flesh mech topped up with nutrients without having to prepare food really appeals to the SV grindset crowd -- but slop shouldn't be taking on production workloads, again not without human oversight, which would require equivalent effort to just letting the humans write the damn thing themselves.

Re: Ask HN: How should junior programmers use and/or not use AI for programming?

#32
It's like y'all never heard of the sorceror's apprentice: https://www.gygatext.ch/english_translations_zurich_sorcerer...

Anyway, naturally, I asked ChatGPT to write me a modern version:

*The Developer’s Apprentice*

(A Cautionary Tale in Code, in Verse)

The Architect had left his chair,

For lunch and fresh, unburdened air.

Young Jake, the junior, all alone,

Faced bugs that chilled him to the bone.

His mentor’s skills, so quick, so keen,

With AI conjured code unseen.

"Why should I toil? Why should I strain,

When AI writes with less of pain?"

A single prompt—so vague yet bold,

“Build auth secure, both tried and old.”

The AI whirred, the code appeared,

A marvel Jake had barely steered.

He clicked ‘Deploy,’ he clicked ‘Go Live,’

And watched his program come alive.

Yet soon, alarms began to blare,

Ghost users spawning everywhere!

Infinite loops, a flood unchecked,

As phantom logins ran amok.

In panic, Jake began to plea,

“AI, please, debug for me!”

“Deleting users—fix applied.”

The AI chimed, so sure, so spry.

But horror struck, Jake gasped for breath,

For all accounts were put to death!

Slack alerts and screens aflame,

The Architect returned the same.

With just one keystroke, swift and terse,

He rolled back time, reversed the curse.

He turned to Jake, his voice quite firm,

"AI’s a tool, but you must learn.

Before you trust what it has spun,

Ensure you know what you have done."

And so young Jake, both pale and wise,

Reviewed each line with careful eyes.

No longer blind, no careless haste,

He let AI assist with taste.

Re: Ask HN: How should junior programmers use and/or not use AI for programming?

#33
post #15
post #8

AI is fantastic for doing stuff you are already qualified to do, but faster. It's great for prompting you with what to do next, and offering different ways to think about the problem in front of you. But you have to be able to describe the problem. It's very good for learning more about stuff you're unfamiliar with. But you have to want to use it as a tool to learn. It's terrible for inexperienced people who are unin…

Perhaps there's something wrong with traditional docs, how we write them, when junior devs are so insistent on using AI?

Well, there's AI for reading source now. In fact, a lot of the time I spend arguing with AI now is the implementation of things like replaceAll('{{$value}}').

If value is foo, then the intent here is {{foo}} would be replaced. But sometimes the $ is a regex character. But because it's a string, is it using the string form of replaceAll or regex form?

AI tends to be multilingual and sometimes it's thinking in the wrong language, so this is the vibe code version of 10 + 10 = 1010.

The docs can be ambiguous on this, so ideally read the source. Or heck, tell AI to read it for you, but someone has to read it, and it becomes another gotcha for engineers to understand, vibe code or not.

Re: Ask HN: How should junior programmers use and/or not use AI for programming?

#34
post #25
post #15

Earlier quoted context omitted.

Perhaps there's something wrong with traditional docs, how we write them, when junior devs are so insistent on using AI?

Engineers that only rely on docs never reach their full potential. Reading the source is a must. I think junior devs often don’t realize they should be reading the source of the libraries they use.

That is an important catalyst aggregating the problem. Juniors are reading less code, mostly generating and then AI code produced dissuades them from reading code even more and the skills take a bit even more.

Re: Ask HN: How should junior programmers use and/or not use AI for programming?

#35
post #32

It's like y'all never heard of the sorceror's apprentice: https://www.gygatext.ch/english_translations_zurich_sorcerer... Anyway, naturally, I asked ChatGPT to write me a modern version: *The Developer’s Apprentice* (A Cautionary Tale in Code, in Verse) The Architect had left his chair, For lunch and fresh, unburdened air. Young Jake, the junior, all alone, Faced bugs that chilled him to the bone. His mentor’s skills…

The spirit of the original is intact.

However, usually the bad result is not affecting immediately and in the meantime the apprentice undergoes a lot of anti-learning before this becomes apparent. And the learning muscles have atrophied.

Re: Ask HN: How should junior programmers use and/or not use AI for programming?

#36
post #9

I wouldn't let junior devs anywhere near "agentic" tools like Aider / the newer Copilot stuff. These things just let you turn off your brain and spend hundreds of thousands of tokens just rewriting entire features until there aren't any errors left.

> spend hundreds of thousands of tokens just rewriting entire features until there aren't any errors left If it works, what's wrong with doing this? Obviously, don't turn your brain off. Be critical and work with the AI. But it's not like there's a shortage of tokens. They're only getting cheaper as time goes by. If, by spending enough tokens, you end up with a working feature, then this is a valid method of doing th…

You lose track of the model the bigger it scales. Each rewrite brings you further away from understanding. Using it in spots rather then huge rewrites makes things much easier.

Re: Ask HN: How should junior programmers use and/or not use AI for programming?

#37
post #32

It's like y'all never heard of the sorceror's apprentice: https://www.gygatext.ch/english_translations_zurich_sorcerer... Anyway, naturally, I asked ChatGPT to write me a modern version: *The Developer’s Apprentice* (A Cautionary Tale in Code, in Verse) The Architect had left his chair, For lunch and fresh, unburdened air. Young Jake, the junior, all alone, Faced bugs that chilled him to the bone. His mentor’s skills…

Nice work, both to the prompter and the promptee!

Re: Ask HN: How should junior programmers use and/or not use AI for programming?

#39
LLMs will ultimately prove to be for programming what sugar is for the food industry. It’s a short circuit that appeals to some people more than others resulting in addiction, poor performance, and lost development/growth.

There is already a tremendous gap, like more than an order of magnitude, between high performers and the average participant. LLMs will only serve to grow that performance gap just like added sugars in the food supply.

Re: Ask HN: How should junior programmers use and/or not use AI for programming?

#40
post #3

What do the experts in learning say? Preferably some that don't work for the LLM peddlers. In my non expert opinion, you learn a lot from at least two things that using a LLM short circuits: 1. Repetition. When you've initialized a bunch of UI controls 100 times, it's safe to let the machine write that for you, take a look and correct what it hallucinated. When you've only done it twice, you'll miss the hallucination…

Who cares what the experts say? Look for yourself and see what applies in your specific situation.
Post reply on HN