TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

New junior developers can’t code

115 点作者 mhfs3 个月前

36 条评论

code-faster3 个月前
The reason why these articles appear every 5 years is because many engineers pride themselves on how they solve problems. And then when they see people solving those problems without putting in the hard work that they had to put in, it really bothers them.<p>This is a timeless post. We&#x27;ll see it today. We&#x27;ll see it in five years. We&#x27;ll see it in 10 years.
评论 #43075898 未加载
评论 #43076097 未加载
评论 #43078210 未加载
评论 #43075697 未加载
yellow_lead3 个月前
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.<p>This is a mindset, and I don&#x27;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.
评论 #43076007 未加载
评论 #43075398 未加载
评论 #43075562 未加载
addicted3 个月前
There’s a lot of “people have been complaining about the youth for a long time” in these comments.<p>I get where that’s coming from. However, I don’t think these complaints are the same.<p>Let’s not approach this from the youth, but from the technology that’s supposedly corrupting the youth.<p>Stack Overflow, C compilers, Python are all mentioned as previous examples of technologies that were supposedly making people bad developers. And while true, none of them was hailed as a genuine game changer the way AI is. And why is AI hailed as a game changer? Precisely because AI takes the thinking out of the achieving. It does the thinking for you (it’s right there in the name…artificial INTELLIGENCE).<p>None of those other technologies pretended to take the thinking out of the achieving.<p>Now it may turn out that AI is overhyped and it doesn’t actually able to think as well as humans beyond a certain point. But the point still stands that AI, if it exists, is fundamentally different from other technologies and can genuinely have some of those concerning effects on developers that those other techs did not.
评论 #43075527 未加载
评论 #43075635 未加载
评论 #43075556 未加载
jameson3 个月前
Stack overflow also has a ton of misleading answers too. Yes, the popular ones are exemplary ones with depth. The &quot;struggle&quot; is where the most knowledge is gained. While one struggle, they look inside, outside and around the problem and over time dots starts connect to each other.<p>I don&#x27;t think it&#x27;s all junior engineer&#x27;s laziness to get things quick out the door. I recently worked with several, and many prefers to &quot;do the right way&quot;. However, there are bad managers who wants to get things done quick so they can climb up the ladder. One junior told me his 1-on-1 with manager told him &quot;don&#x27;t think too much and get it done&quot;. The current market is tough for junior devs so they&#x27;ll do whatever to please their manager. What choice do they have? Rather prefer getting PIP&#x27;ed?<p>And it&#x27;s funny how the current market is considered &quot;bad&quot; because software companies earnings are clearly not that bad. Perhaps our greed has peaked and the only way to pocket more money is to squeeze every drop of juice out of employees to get the product out ASAP
chias3 个月前
When I was younger people derided us new junior developers who relied on compiling and running their code to see what it would do, instead of thinking deeply about it. Using a REPL is a sure sign of a weak mind.<p>I feel like every 15 years or so you can just find-and-replace the name of the tech we decide is only for Not Real Programmers.
评论 #43075384 未加载
评论 #43078331 未加载
评论 #43075798 未加载
评论 #43075533 未加载
billforsternz3 个月前
The implication that Stack Overflow was somehow the only way you&#x27;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 when there was no source code. Or by using a debugger. Or a logic analyser. Or by doing experiments. Or some combination of some or all of these and other things that didn&#x27;t involve being spoon fed.
评论 #43075406 未加载
评论 #43075560 未加载
评论 #43075420 未加载
评论 #43075421 未加载
评论 #43075505 未加载
malfist3 个月前
This article is just the latest in the long history of lamenting the laziness of the youth
评论 #43075366 未加载
评论 #43075403 未加载
评论 #43075318 未加载
评论 #43075357 未加载
评论 #43075370 未加载
评论 #43075329 未加载
viccis3 个月前
The bigger problem in my experience isn&#x27;t even junior devs using it. It&#x27;s senior people who haven&#x27;t been individual contributors in many years who love that AI means they can just hop in and patch whatever problem comes up. It&#x27;s not too hard to tell a junior dev that adding an if statement right before the error happened to make a separate codepath for that one case is not the right answer. It can be MUCH harder to tell a Senior Director that you don&#x27;t want to merge that pull request because that&#x27;s not the right way to solve the problem.
cirrus33 个月前
I can&#x27;t really speak to the impact on junior devs since I haven&#x27;t worked with any since the start of AI dev tools so this comment is kind of off topic.<p>Totally agree that should be treated as learning tool just as much &quot;give me something that works&quot; tool. If Junior devs are not taking advantage of that side of it instinctively out of their own curiosity and interest, well, maybe they were never going to be good developers in the first place even without AI.<p>What I can say is that for me as a as senior dev with 22 years experience who has been using using these tools daily for about a year now, it has been a huge win with no downsides.<p>I am so much more efficient at unblocking myself and others with all the minor &quot;how do I do X in Y&quot; and &quot;what is causing this error&quot; type questions. I know exactly what I want to do, how to ask it, but only partially what the answer should be... and AI takes away the tedious part of bridging that knowledge gap for me.<p>Maybe even more significantly, I have learned new things at a much faster rate. When AI suggests solutions I am often exposed to different ways to do things I already knew, features I didn&#x27;t know existed, etc. I feel good that I found a solution to my problem, but often I feel even better having learned something along the way that wasn&#x27;t even the original goal and it didn&#x27;t really take any extra dedicated effort.<p>The best part is that is has made side projects a lot more fun and I stick with them a lot longer because I get something working sooner and spend less time fighting problems. I also find myself taking on new types of projects that are outside my comfort and experience zone.
namanyayg3 个月前
I wrote this article! Thanks for sharing.<p>Love the discussion on HN as always, great to see various perspectives on the issue.<p>Do you think that in the future, new programmers will not ever need to learn syntax&#x2F;algorithms and will just be able to rely on AI?
评论 #43075492 未加载
travisgriggs3 个月前
I feel sorry for young developers today, because the rush to quickly make money from software, has created a lot of complexity. Programming used to be a lot simpler. Some of the problems we have today are indeed harder. So I’m not wanting to go back to assembly or something. Some maturation was&#x2F;is a good thing. But the last twenty years have seen an excessive hyper maturation of idea churn.
评论 #43075477 未加载
someisaac3 个月前
Doesn&#x27;t this feel similar to how we talked about people using Google search to find answers to programming problems, instead of reading documentation and understanding things before writing code? Or how we criticized not using IDEs and just writing raw code without syntax editors? Or if we go further back - using calculators instead of calculating in your mind? I remember talking to an old man when I was a kid - he used to mock me for not knowing how to recite the alphabet in reverse order, complaining about how kids these days don&#x27;t learn anything properly.
znpy3 个月前
&gt; We’re at this weird inflection point in software development. Every junior dev I talk to has Copilot or Claude or GPT running 24&#x2F;7. They’re shipping code faster than ever. But when I dig deeper into their understanding of what they’re shipping? That’s where things get concerning.<p>I assume that 20-30 years ago when juniors were using either ide-provided auto-completion or refactoring or gui designers some old graybeard developer had a similar reaction.<p>Nothing new under the sun.<p>On a different layer of thinking, it makes perfect sense. The more the computing industry progresses, the more it abstracts away from how the thing actually works.<p>I don&#x27;t know the author of this post, but as a system engineer that works closely with many software engineers, there are so many of them that yap left and right about the code they wrote or the ecosystem around their main programming language but are completely hopeless to anything outside that scope. I&#x27;ve seen so many re-implement the wheel because they don&#x27;t know about facilities provided by the operating system (let alone how to interface and make use of them).<p>There&#x27;s so much stuff that&#x27;s done by the kernel (linux) and could be re-used if somebody was able to dive into FFI and write the adequate wrappers. And that&#x27;s just an example.<p>One might argue that junior developers are just starting at a higher level of abstraction.
评论 #43078452 未加载
esafak3 个月前
Market forces will take care of it. These people won&#x27;t get hired or last long if they do. Companies don&#x27;t need programmers whose only skill is prompt &quot;engineering&quot;.
评论 #43075463 未加载
评论 #43075401 未加载
评论 #43075337 未加载
ok1234563 个月前
One very recent anecdote about this we tasked a new graduate with the task of extracting some tabular data from a relatively small worksheet and processing it. This is something you&#x27;d use a dataframe or alternative for.<p>Because he used the words &#x27;Google Worksheet&#x27; in his prompting, the LLM spit out some code using the Google Sheets API. This was less than helpful, and it took some time to realize why he was struggling.
mk_chan3 个月前
There’s no real connection to junior developers in this article. It’s a piece about how the author feels people are using AI and how the author feels people should use AI. The quick fix vs deep understanding positions are mired by many factors; two of the big ones being time and how much one cares none of which are actually discussed.
评论 #43075520 未加载
dantraztrev3 个月前
As one of the new devs , I feel like AI tools have pushed the bottom line higher , you can learn to do things and you can dive deep into technical aspect or in this case the basic implementation. But the velocity or expected velocity has increased , we expect more out of the junior devs then what we used to years ago , As if you don&#x27;t use AI you&#x27;re already behind.<p>There will always be people who know how to do things better , who can understand what will be the most optimal code style for fastest and&#x2F;or smallest assembly instruction , and in future this bottom line will get moved much further.<p>We are probably coming close to something similar of 1980s game industry crash for engineers or we can avoid it.<p>New devs may not care for deep tech knowledge they optimize for opportunities, and you give them tools for their disposal to optimize for opportunities and they grab it.
remoquete3 个月前
If functional code can be written and deployed by juniors using an LLM, then perhaps the required business logic isn&#x27;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&#x27;ll soon see the need for closer inspection and manual coding.<p>The reality, though, is that for most CRUD &#x2F; 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&#x27;s not forget it, people with no coding knowledge whatsoever can&#x27;t get functional stuff out of LLMs as fast as non-developers.<p>We need to get used to a world where augmentation means &quot;getting rid of the boring stuff at the margins&quot;. There&#x27;s no heroics in doing that stuff the old way.
MattGrommes3 个月前
I had a similar thought the other day when playing with Deepseek-coder. I asked it to do a problem I had just figured in a system I didn&#x27;t know (opencv). The code deepseek gave was basically the same as what I had figured out, which I was pretty impressed by. But then I thought that if I had just used that code as is, it probably would have worked but I wouldn&#x27;t have learned anything about opencv.<p>These new tools can be very valuable but I worry about people not using the tools to maximum effect long-term, in favor of short term success of a certain kind.
评论 #43078563 未加载
henning3 个月前
&gt; Reading discussions by experienced developers about your topic is the best way to learn.<p>No it isn&#x27;t. Stack Overflow consists of people saying &quot;I don&#x27;t know what you are trying to do&quot; and then answering anyway without waiting for additional information or scolding people for not asking their question correctly. If you post your real code, you get told to provide a minimal reproducible example. If you just post the minimal reproducible code, you get told this doesn&#x27;t correspond to a real problem and that the question itself is contrived.
评论 #43075481 未加载
sumoboy3 个月前
Pretty easy to filter out a majority of devs who don&#x27;t know much including juniors before hiring. Not knowing stackflow doesn&#x27;t mean much, but then again professors think that&#x27;s cheating so why should they reference it. No reason to trash jr devs, they don&#x27;t know what they don&#x27;t know because colleges ignore what they need in preparation for real world interviews and readable resumes.
评论 #43075539 未加载
mistyvales3 个月前
How long can a junior dev last simply using AI day in, day out? Is it enough to ship high quality products? I assume at least most of them eventually learn the proper skills when they are no longer &quot;junior&quot; devs. It seems like the usual &quot;fake it til you make it&quot; style a lot of people do to get by.
mmmpetrichor3 个月前
Have you hired junior engineers in question? so you&#x27;re bad at hiring? what&#x27;s the post history here? what are you trying to sell? <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;from?site=nmn.gl">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;from?site=nmn.gl</a>.
Scrapemist3 个月前
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.
bananapub3 个月前
I remember saying this in 2003, too, when new grads couldn&#x27;t sit down in front of an editor and produce a program from nothing, they could only modify existing ones with lots of hints. surprise, they almost all learnt and are now quite good seniors.
bad_username3 个月前
&gt; Can you imagine that some dude just wrote an answer with this level of detail? Raw, without any AI? And for free?<p>I once got Raymond Chen himself to answer My Stack Overflow question. I do not think my programming career will reach that height ever again.
bushido3 个月前
I for one am very excited about where things are going.<p>I know we&#x27;re getting fewer &quot;traditional&quot; junior devs, but I&#x27;m seeing more and more designers and product managers contributing, at a frequency which was much harder pre-GPT.<p>In my roles as a head of product&#x2F;eng, I&#x27;ve always encouraged non-technical team members to either learn coding or data to get better results, but always had limited success, as folks were scared of it (a) being hard, (b) taking too much time to get proficient.<p>But that&#x27;s changing now, and fast - and these junior devs are becoming proficient much faster and leading to much business and customer outcomes.<p>I&#x27;m seeing more realistic goals, sprints, etc. I&#x27;m seeing fewer front&#x2F;backend bottleneck, and lastly I&#x27;m seeing fewer pixel moving requests going to senior engineers.<p>As other have mentioned juniors were often unable to code prior to LLMs, and what helped make them better was code reviews, bugs and general mentorship. Those tools to make them better are still available to us.
bane3 个月前
I&#x27;ve been thinking about this for a few years, even before the advent of AI coding tools. New developers certainly couldn&#x27;t code then either, but I think what &quot;coding&quot; is is changing, and it has to do with how our field is capturing solved problems, encoding that knowledge, and then resharing it out to the next generation of developers.<p>- In the before times, writing software usually meant having a logical mindset, perhaps one trained in math of physics, or an insatiable curiosity. Most of my older CS college professors had actually majored in virtually anything other than CS, because the field didn&#x27;t exist when they were in school.<p>- Lessons learned in how to convert higher-level languages into lower-level ones were captured in compilers, linkers, debuggers, and other tools. The next generation really didn&#x27;t need to learn machine code, assembler, or any of that other business. They were operating in COBOL, Fortran or maybe later C most likely. They entered the workforce ready to figure out complex algorithms rather than figure out how to make the machine perform basic functions at scale -- that knowledge was captured.<p>- By the time I went to school, there was a strong emphasis on algorithms, established operating system concepts, multi-threading and processors, very little at the machine level, almost no GPUs existed outside of Silicon Graphics workstations in a little lab, and some cursory and revolutionary concepts about VMs as in the Java VM, and a new thing called &quot;agile&quot; that was showing up in some places. There was a very active <i>department</i> researching ways to distribute work across networked computers. Templates in programming languages hadn&#x27;t really shown up anywhere, and it wasn&#x27;t uncommon to work in version of C++ without a standard String type. Perl was common, and unicode was being looked at, but the world was ASCII. I could sit down and write my own optimal self-balancing trees, and reliably put them behind production software. My first programming gig, a company that wasn&#x27;t focused at all on hard CS algorithms, wrote their own String types, search engines, compression algorithms, and virtual memory mapped libraries just to get a product out the door. But we weren&#x27;t trying to write boot loaders, firmware, graphics windowing systems, or databases, that stuff already existed - the knowledge was captured.<p>- Templates, the Enterprise Java &quot;Culture&quot;, better IDEs, and early internet tech seemed to drive lots of new students away from figuring out how to write a B-tree, and into things that were more valuable in the marketplace. Early CRUD apps, e-commerce systems, sales-tax libraries, inventory control software. A developer didn&#x27;t need to figure out the algorithms, because the knowledge had been generically captured behind a few Template libraries. I remember <i>buying</i> a C++ Template library from a software house that had a good String type, regex engine and early support for UTF-8 Strings, along with some interesting pointer types. UML and code generation was the new hotness in places that thought COBOL was still radical.<p>- Today, CRUD&#x2F;e-commerce&#x2F;etc are so common, you start with a framework, plug in your business logic and point it at your database and service resources and off it goes. The knowledge for how to build that stuff has been captured. The movement to the front-end has been tremendous, getting rid of Java and flash from the browser and all the work in Javascript-land has made good front-end developers worth their weight in gold. But lots of that knowledge is captured too, and you can just React.js your way into a reasonable front-end pretty quick that works hard not to look like a developer-made GUI. Even design aesthetics have been captured.<p>So what&#x27;s next? The knowledge for how to build all this stuff, the decades of hard fought knowledge creation was captured in code, and on forums, and blog posts. StackOverflow worked because it was &quot;central&quot; to lots of searching, but there&#x27;s still random stuff buried away as captured knowledge in code repositories, personal sites, weird vendor examples, and so on.<p>Ignoring AI, what one might want to be really functional today as developer is something that taps into this wealth, maybe auto searches for things in all of these places and compiles a summary, or an example. Maybe this searching happens in the IDE for you and the result is dumped right into your code for you to tweak. But how to compile all these results? How to summarize into something logical? I guess we need something kinda smart to do it, maybe we need AI for it.<p>The real question is what&#x27;s the next layer that needs to be hard fought to create new knowledge? If AI is the new Generics&#x2F;Template library, what are we building next?
评论 #43075729 未加载
siliconc0w3 个月前
Or install and configure a Linux server or design a system without access to turn-key cloud primitives.
sandruso3 个月前
in similar vein gui tools for git killed the need of remembering commands. it is so painful watching somebody struggling with git when something &quot;advanced&quot; as rebase needs to done and they only know how to use git via vscode integration
user324893183 个月前
Exactly what people said about stackoverflow in the past
blast3 个月前
They&#x27;re too busy being on your lawn.
begueradj3 个月前
It&#x27;s like relying on a GPS to go everywhere you need. You will quickly find out you don&#x27;t know to go anywhere by yourself.
评论 #43075333 未加载
satvikpendem3 个月前
This weekend I tried out Cursor since I stopped paying for ChatGPT, Claude etc several months ago and wanted to see whether I should restart my subscription or to try them via a code editor.<p>It was honestly frightening how quickly I finished a side project this weekend, one that I had previously been struggling with on and off for a few weeks now. The scary part was that the user experience of prompting for feature requests or bugs and then seeing the code changed and the app be hot reloaded (I use Flutter which has this functionality) was so seamless that it didn&#x27;t feel like a Copilot, it felt like an Autopilot. I literally felt myself losing brain cells as I could, yes, ostensibly review the code between every single prompt and change cycle, but realistically I clicked apply and checked out the UI.<p>However, all good things must come to an end, it seems, as I burned through all 150 credits of the free trial, but more importantly, the problem of hallucinations is still ever-present and oftentimes I&#x27;d ask it to fix an issue and it&#x27;d change some other part of the codebase in subtle ways, such that I&#x27;d notice bugs popping up that had been fixed in previous iterations, from minor to truly application-breaking. The issue now was that since I didn&#x27;t write the code, it took me quite a bit longer to even understand what had been written; granted, it was less total time than if I had written everything from scratch, and it could be argued that reading it is no different than reading a coworker&#x27;s (or one&#x27;s own older) code, <i>and</i> I still had an LLM to guide me through it (as Cursor&#x27;s chat is unlimited while their composer feature, the AI prompt and apply loop, is not), but I understand the author&#x27;s point much better now.<p>While others in this thread and elsewhere might say it is no different than reading Stack Overflow or books of yore, the <i>automaticity</i> of AI and the human together feels fundamentally different than what came before. Truly, I felt much more like a product manager, citing feature requests and bugs, than I ever did as an actual developer during this loop, only this time our knowledge and experience will be so eroded that we <i>won&#x27;t</i> be able to fix novel problems in the future and will rely on our learned helplessness in asking the AI to fix it, as I had increasingly felt as the easier this loop got.
CarolineRommer3 个月前
What the post describes is kids misusing AI. You can always ask AI how a code works. Ask GPT, then have Claude review it, then have Gem chip in. Ask all of them to ELI5 every single detail of the code, and then try to explain it yourself, in your own words.<p>I&#x27;m sorry but for many of us socially awkward folk having to rely on begging to solve coding tasks felt like chewing glass.
tbrownaw3 个月前
&gt; <i>Sure, the code works, but ask why it works that way instead of another way? Crickets. Ask about edge cases? Blank stares.</i><p>&quot;This is the worst code I&#x27;ve ever run.&quot;<p>&quot;But it <i>does</i> run.&quot;<p>&gt; <i>I recently realized that there’s a whole generation of new programmers who don’t even know what StackOverflow is.</i><p>I also did not know about stack overflow when I started programming. Or even when I finished college and entered the workforce.<p>Because it didn&#x27;t exist yet.<p>&gt; <i>Back when “Claude” was not a chatbot but the man who invented the field of information entropy, there was a different way to debug programming problems.<p>First, search on Google.</i><p>Google also did not exist until &#x27;98. By which point I&#x27;d already learned enough c++ <i>from a physical book</i> to write toys like a space invaders kind of game.<p>&gt; <i>Junior devs these days have it easy. They just go to chat.com and copy-paste whatever errors they see.</i><p>Juniors blindly copying code from StackOverflow used to be a standard complaint.