Live data from Hacker News

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

news.ycombinator.com

11–20 of 45 posts

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

#11
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 the work.

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

#12
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…

> If, by spending enough tokens, you end up with a working feature, then this is a valid method of doing the work.

It's just several really big ifs:

- Does "no errors" == working feature? Only if the tests are good, and even then...

- Are the tests good? Only if the person overseeing the LLM is checking the thoroughness and quality of the tests; being critical, as you say

- Is the developer willing to be/capable of being critical, or are they using the tooling as a way to avoid such things as much as possible?

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

#13
The temptation to use IDE-based AI is too great, so the industry is just going to to it, and we're just going to have to live with it. It's unfortunate.

Most devs who like AI-coding seem to think AI code-completion is more efficient than chatting with a LLM. Yes, it's true that code-completion is *faster*. But I think chatting with a LLM is more effective.

I'm not going to go into specifics about it now, but maybe if you give it some thought you'll realize the difference. When you're coding you don't always convey your intent to the AI, so it's important to add context with comments. Most coders are too lazy to do that.

Chatting can be just as bad, because many people have horrific prompting style. But I think it's more natural in chat to provide context and explanation, as well as corrections and "oh that's not what i meant" and "in your second point, what exactly do you mean by 'coverage'?", etc. The chat interaction allows you to really hone the code iteratively where both you and the AI have the meaning nailed down.

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

#14
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…

Well, rewriting entire features without tact can be a little toxic in collaborative environments. There may be good reasons for the design that does already exist, and those reasons may not be backed by the test suite, and you may only find out about them once you've burned through a month of dev time and further changes on top of the rewrite.

You should consult the code owner or primary set of authors before proposing a large rewrite. But if you do this, you should understand very well the pros/cons of throwing away all of this old code, documentation, and unit tests that have an implicit dependency on the existing structure.

I worry that if you are just vibe coding and letting the AI rewrite everything at will, you could not be further from understanding the details involved.

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

#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?

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

#16
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?

I don't think that's the problem. It's time and effort; junior devs (and more broadly, humans) always want to see how little they can spend; here they incorrectly believe they can lean on LLMs and get a guaranteed increase in quality output. Even if that were true today (and we're nowhere near that), you would still either have to know how to evaluate the output for correctness, or trust that the model has handled it.

Junior devs seem to just trust it now, because they literally don't know better.

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

#17

Good use: Asking it to help with language specifics, all the nit-picky stuff. Include other basics like well known math and/or small methods. Poor use: Anything related to using intuition and/or the though process behind decision making.

No, absolutely not. Well, maybe JavaScript, but they are horrible at languages like C++. Just yesterday, I asked multiple LLMs (GPT, Claude, Gemini) why my code does not compile, with the error message, and asked for a solution. None provided a correct answer or a correct fix, after multiple attempts. I ended up figuring out the real error myself using my own knowledge and fixed it myself.

These LLMs are really just clueless when it comes to any problem that is slightly more complex.

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

#18
Is there some tool or way of guiding junior devs to make the best use of AI, perhaps monitoring their prompts? Or somehow to intervene and coax them into using better prompts according to their level and experience. Perhaps make AI respond differently to people with different profiles.

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

#19
Whenever new layers of abstraction enter the industry, it has allowed coders to distance themselves from various pieces of the puzzle. Back in ye olde days, every coder also knew how to set up the infrastructure to run it, often to the point of also maintaining the hardware. Then along came the cloud. Nowadays, some people still know the whole infrastructure, but just as many only know how to run their local dev and git push. Actually making it run somewhere is a black box to them, and very few people handle everything from the UI all the way down the stack to the bare metal.

AI is going to be the same. We will end up with people who can deliver code using AI, but that is the end of their capabilities. While there will be others who can do that but also put AI aside, dig in, and do much more.

That is not necessarily a problem. As long as teams know your capabilities and limitations, and give you the correct role, you can build a working team.

At the same time... someone on the team has to be able to dig in deep and make things work. Those roles will always exist, as will those people. Everyone will have to decide for themselves exactly what skill set they desire.

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

#20
post #10

I always die inside a little when junior dev at my company uses Windsurf to tell him how a specific pandas function works. Like you're just using it as an expensive documentation repeater, but now with spicy possibility of lies.

I possibly disagree with the principle, if I understood the point correctly: I have always felt reading the `man` pages an inefficient process, searching for literals ('/') often inefficace, and hoped one could finally request for `man` content (and similar) in (more) natural language.
Post reply on HN