Live data from Hacker News

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

news.ycombinator.com

41–45 of 45 posts

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

#41
My take on the subject has shifted the last months. I had issues with AI's output, the mistakes, hallucinations.

Now I use AI to go asap to 70% of my code. The last 30% is a manual, low AI, approach where I fix the hallucinations, file structure and do the stuff AI is failing me at.

I use Claude Chat, ChatGPT, Claude Code and Windsurf (switching between those all the time)

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

#42

My take on the subject has shifted the last months. I had issues with AI's output, the mistakes, hallucinations. Now I use AI to go asap to 70% of my code. The last 30% is a manual, low AI, approach where I fix the hallucinations, file structure and do the stuff AI is failing me at. I use Claude Chat, ChatGPT, Claude Code and Windsurf (switching between those all the time)

What about the cases where the AI doesn't hallucinate, produces working code, but the code is just about good enough?

I've just written about that exact scenario. A shoddy piece of code that's just about okay: https://richardcocks.github.io/2025-03-24-PasswordGen

If you're a junior, you might not realise there's anything wrong with the generated code at all.

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

#43

My take on the subject has shifted the last months. I had issues with AI's output, the mistakes, hallucinations. Now I use AI to go asap to 70% of my code. The last 30% is a manual, low AI, approach where I fix the hallucinations, file structure and do the stuff AI is failing me at. I use Claude Chat, ChatGPT, Claude Code and Windsurf (switching between those all the time)

So which event make you change your approach

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

#44

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…

Previous layers of abstraction were largely reliable and deterministic. Compilers don't just randomly generate assembly. Yes, all abstractions leak, but most of them just drip, while whatever "abstraction" AI provides leaks like a sieve. It would be like if CDK just created or deleted random resources 50% of the time.

This is a massively important point. My dad took a programming course back in the day and had to use punchcards. High-level languages make code easier to understand and debug compared to gazing at a stack of "Do not fold, spindle or mutilate." LLMs are the opposite. If you only learn how to use LLMs, you are not going to be able to understand what's happening or why things aren't working.

I've found LLMs making inexplicable mistakes when writing statistical code, but the code will still run and return a confident result. If you can't look at the code, you won't see, e.g., your hourly time series being aggregated on a daily basis.

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

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

Most docs are for experienced people to get valuable, exhaustive, and correct information when they need to. Learning about the same concepts is a different paradigm and you'd be better off with an actual book/tutorial. My most use information repositories are MDN and the likes, Devdocs|Dash, and sometimes library code when the documentation is lacking. But when I'm unfamiliar with a language/platform, I seek a book…

Very well put. I also read books to learn concepts. I usually only turn to documentation to remember the nitty gritty details that are easy to forget. Consider loading the first 100 rows of a large CSV. About as basic as code can get. Yet as I move between languages and libraries, it's hard to remember all the different syntaxes, so I find myself looking up official documentation.

read.csv("large.csv", nrows = 100)

read_csv("large.csv", n_max = 100)

pd.read_csv("large.csv", nrows=100)

pl.read_csv("large.csv", n_rows=100)

CSV.read("large.csv", DataFrame; limit=100)

Post reply on HN