Live data from Hacker News

New junior developers can’t code

nmn.gl

71–80 of 138 posts

Re: New junior developers can’t code

#71
If functional code can be written and deployed by juniors using an LLM, then perhaps the required business logic isn't that complex after all. Ask them to write a device driver or a kernel module, or code a faster algorithm for, say, stock trading, and they'll soon see the need for closer inspection and manual coding.

The reality, though, is that for most CRUD / code scaffolding, what you need the most is good knowledge of the problem space and a solid enough foundation to ask LLMs for solutions. Because, let's not forget it, people with no coding knowledge whatsoever can't get functional stuff out of LLMs as fast as non-developers.

We need to get used to a world where augmentation means "getting rid of the boring stuff at the margins". There's no heroics in doing that stuff the old way.

Re: New junior developers can’t code

#72

The implication that Stack Overflow was somehow the only way you'd ever find a solution to a gnarly problem (back in the day) seems weird to me. I mean before that (even during that) there was the alternative problem solving technique of, well, rolling up your sleeves getting stuck in and figuring out the problem yourself without asking anybody. By doing some reading. Or by reading source code. Or disassembling code…

Before StackOverflow, we copied stuff from physically printed material. My personal favorite is the Perl Cookbook, which is still on my bookshelf.

The thing with printed books is that you have to type in those snippets yourself, and the act of typing out code reinforces knowledge. I only used the cookbook for each new problem a few times, after which I have committed the relevant bits to memory.

The act of copy&pasting from Stack Overflow might have the same reinforcement effect, but perhaps not as much because it didn't cost as much effort. The act of having a bot generate code probably doesn't do much reinforcement at all, although perhaps these new developers will be better at asking questions or creating prompts.

Re: New junior developers can’t code

#73

Todays junior dev that is copying AI code without understanding it, is the same as the junior dev several years ago who did the same with stack overflow code. This is a mindset, and I don't think AI code is changing the number of people with this mindset. What it may be doing though, is letting them get away with it for longer.

It is not the same imho; the code copied from SO, they had to change a bit; even if there was no understanding in the beginning, after changing and running and changing and running in a loop until it works, you learn something (often about how variables work). This is more like when I was typing in BASIC source from magazines in the early 80s and changing things to see if I could cheat in a game or make the gameplay different etc. The difference is that even if it doesn't work one-shot with an llm, the loop doesn't have you in it; sure sometimes you have to hammer the Yes button (but you can switch that off); it will be auto for all very soon, if you don't make a real conscious effort, you are not going to learn anything from it. Maybe just you wondering why they are paying you for clicking Yes.

Because of where the HN community works and hires, things are a bit different; in the real world, senior programmers (people who are hired in that role and make money for >=decade, not whatever your feeling what it should be is) are not very different either. Very many don't know what they are doing either, just they deliver by trial and error and got their years and stripes in, still barely understanding what they are doing. This now has become easier with llms for them too, but it's the reason why I, vs other people on hn, am bearish on programmer jobs; by far most outside the hn bubble are and always were terrible and can be readily replaced by llms now and will be soon. The ones that do understand what they are doing and can architect, write and read complex software won't be replaced by the current or next gen, but when we read that companies are going to lay off programmers in favour of llms, they mean the people I have to work with daily (we go into large companies and do emergency repairs; there was an article yesterday somewhere saying that all companies have outages all the time; sometimes we get called in for those) who have massive teams of people who cannot write anything sensible; it is useful for the problem, but reading the code or looking how it's done makes you cry; clearly there was no real understanding to begin with. Most commonly, and this wasn't all that common when we started out, an (or rather 1000s now) external library was used, the way it was supposed to be used wasn't completely/fully understood and so a bunch of brittle code has been produced to make it work in the way the author believed it should work, breaking in a myriad of edge cases that are discovered (by outage often) years/decades later. I am thinking that maybe llms are better at these cases; sure they 'understand' about the same nothing, but at least, once it works, they can clean up the code without effort so it might not be that crust of misunderstood pain plastered on top to hold things together.

Re: New junior developers can’t code

#74
post #22

Todays junior dev that is copying AI code without understanding it, is the same as the junior dev several years ago who did the same with stack overflow code. This is a mindset, and I don't think AI code is changing the number of people with this mindset. What it may be doing though, is letting them get away with it for longer.

Since the StackOverflow code was not an identical perfect fit for the problem you had in mind, you still had to have some mental awareness to what you are doing. Now they can just go to Claude and "say I have this solution, and that problem, someone says this should fit into that, what do" and they get the glue inserted without gaining the basic understanding they'd get from putting the glue there themselves.

Agreed. I'd say there is a ladder to the cognitive aspect of writing code.

1. Constructing an algorithm yourself from first principles, then implementing it. Let's call this "architect level"

2. Reading someone else's description of an algorithm (from a textbook, a blog post, etc.) and implementing it yourself. "Senior dev level"

3. Starting with an existing implementation, treating certain parts of that implementation as a blackbox, but adapting other parts. (e.g. a StackOverflow solution doesn't have a cache, but you need one for performance and add one yourself) "Junior dev level"

4. Copying/pasting with minimal modification. (e.g. ChatGPT gives you a solution that doesn't have a cache. You reprompt it, asking it to add a caching strategy. Your contribution is correcting some names or parameter order and adding some glue code. The main insight you gain here is how to drive ChatGPT, not how the code itself functions.)

Can today's new devs climb from rung 4 to rung 3? If the answer is yes, then maybe nothing has fundamentally changed. If it's a no, then we may be in for trouble 10 to 15 years down the road.

Re: New junior developers can’t code

#75
post #38

Earlier quoted context omitted.

While a trope, it is also statistically proven that the youth of this generation are doing worse, by almost every metric, than prior generations; including but not limited to achieving adult milestones years later than normal, record high percentages of medication distribution, and (for what it’s worth) a historically low percentage of young people that could even enter the military if they wanted to, at just 1 in 7.

Gen Z also has a lower crime rate, less teen birth rates, and less illegal drugs and alcohol consumption when compared to previous generations at the same age.

Teen drug use is increasing

https://www.nih.gov/news-events/news-releases/marijuana-hall...

And a rise in crime rates

https://www.newsweek.com/america-rise-juvenile-violent-prope...

Re: New junior developers can’t code

#76
post #30
post #19

Earlier quoted context omitted.

People said similar things when C compilers became decent. Turns out that we still have people who know how to write good code, even good assembly code.

I’ve heard this comparison between C compilers and LLMs and I don’t think it’s similar. there’s a direct relationship to C code and the resulting assembly. The C language was specifically designed so that language constructs were converted into the intended assembly anyway. C didn’t obfuscate the problem of writing code, just allowed us to operate at a higher, but still sound, level. LLMs are not an abstraction like…

While C compilers are technically not "black boxes", if you looked at lawyerly discussions about UB I don't think you can in full conscience say that `gcc -O2` is much better than a LLM.

Re: New junior developers can’t code

#77

There’s a lot of “people have been complaining about the youth for a long time” in these comments. I get where that’s coming from. However, I don’t think these complaints are the same. Let’s not approach this from the youth, but from the technology that’s supposedly corrupting the youth. Stack Overflow, C compilers, Python are all mentioned as previous examples of technologies that were supposedly making people bad d…

The internet was hailed as and did change the game. Even if we pretend for the sake of argument that AI magically becomes AGI, it still only changes the game about as much as hiring a team. And if it IS that good it certainly doesn't need you managing it.

It's also not as different as you make it out to be. A compiler takes the thinking away from targeting hardware (promise* reality: you still have to target hardware (and software), but you can write larger projects) Likely AI will just become superhuman in various fields, subhuman in many other and won't be AGI for the foreseeable future (barring some kind of massive emergence in VLLMs).

Re: New junior developers can’t code

#78

I wrote this article! Thanks for sharing. Love the discussion on HN as always, great to see various perspectives on the issue. Do you think that in the future, new programmers will not ever need to learn syntax/algorithms and will just be able to rely on AI?

A reliable system will need a relatively formal “proof” that what it does is correct. Code is currently the easiest and most convenient encoding for lots of folks to express such logic. So they’ll need to learn to read the syntax even if they write less of it. So I think people will be able to put together lots of code with AI and not much programming experience, but there will be a need to ensure that it does the ri…

I really want to say you're right, but I'm afraid it's not necessarily true.

Before we had computers and machines, humans did all the work.

And you can't really reliably "code" humans. They misunderstand instructions. They disobey rules and regulations. They make mistakes.

But society still strived with these unreliable humans that have no "proof" whatsoever that they'll do the job properly.

In fact, these days we still often trust humans more than code, at least in areas where the stakes are high. For example, we trust human surgeons over programs that perform surgery. We trust humans to run the government rather than programs.

It's entirely plausible that future generations growing up with AI don't see the point of requiring "proof" of correctness when deploying automation. If an AI model does the job correctly for 99.99% the cases, isn't that sufficient "proof"? That's better than a human for sure.

Yeah that sounds dystopian but I don't see why it can't happen.

Re: New junior developers can’t code

#79
First AI is a tool. Then when it can outperform its will replace. Starting with junior devs, then as output speed and quantity grow and it becomes difficult to track, it will learn to manage itself. Do it’s own code reviews and internal discussion, like the author proposed.

Re: New junior developers can’t code

#80
post #63

There’s a lot of “people have been complaining about the youth for a long time” in these comments. I get where that’s coming from. However, I don’t think these complaints are the same. Let’s not approach this from the youth, but from the technology that’s supposedly corrupting the youth. Stack Overflow, C compilers, Python are all mentioned as previous examples of technologies that were supposedly making people bad d…

Old people have been complaining about the youth for 2000 years but THIS time they're right.

So the youth are always correct and always an improvement?
Post reply on HN