20 ms·
How AI assistance impacts the formation of coding skills
- Bnjoroge 9mo agogotta say this is some impressive transparency for something that seems to somehwat intersect with their business objective.
- deleted 9mo ago[deleted]
- dr_dshiv 9mo agoGo Anthropic for transparency and commitment to science. Personally, I’ve never been learning software development concepts faster—but that’s because I’ve been offloading actual development to other people for years.
- kaelandt 9mo agoNice to see an AI coding company allow such studies to come out, and it looks decently designed
- falloutx 9mo agoDont give them kudos, they are just trying to seem like a "research" company while submitting bogus papers on arXiv (not peer-reviewed)
- jwr 9mo agoThe title of this submission is misleading, that's not what they're saying. They said it doesn't show productivity gains for inexperienced developers still gaining knowledge.
- visarga 9mo agoThe study measures if participants learn the library, but what they should study is if they learn effective coding agent patterns to use the library well. Learning the library is not going to be what we need in the future. > "We collect self-reported familiarity with AI coding tools, but we do not actually measure differences in prompting techniques." Many people drive cars without being able to explain how cars work. Or use devices like that. Or interact with people who's thinking they can't explain. Society works like that, it is functional, does not work by full understanding. We need to develop the functional part not the full understanding part. We can write C without knowing the machine code. You can often recognize a wrong note without being able to play the piece, spot a logical fallacy without being able to construct the valid argument yourself, catch a translation error with much less fluency than producing the translation would require. We need discriminative competence, not generative. For years I maintained a library for formatting dates and numbers (prices, ints, ids, phones), it was a pile of regex but I maintained hundreds of test cases for each type of parsing. And as new edge cases appeared, I added them to my tests, and iterated to keep the score high. I don't fully understand my own library, it emerged by scar accumulation. I mean, yes I can explain any line, but why these regexes in this order is a data dependent explanation I don't have anymore, all my edits run in loop with tests and my PRs are sent only when the score is good. Correctness was never grounded in understanding the implementation. Correctness was grounded in the test suite.
- gjadi 9mo agoInteresting argument. But isn't the corrections of those errors that are valuable to society and get us a job? People can tell they found a bug or give a description about what they want from a software, yet it requires skills to fix the bugs and to build software. Though LLMs can speedup the process, expert human judgment is still required.
- visarga 9mo agoI think the kind of judgement required here is to design ways to test the code without inspecting it manually line by line, that would be walking a motorcycle, and you would be only vibe-testing. That is why we have seen the FastRender browser and JustHTML parser - the testing part was solved upfront, so AI could go nuts implementing.
- northfield27 9mo agoI partially agree, but I don’t think “design ways to test the code without inspecting it manually line by line” is a good strategy. Tests only cover cases you already know to look for. In my experience, many important edge cases are discovered by reading the implementation and noticing hidden assumptions or unintended interactions. When something goes wrong, understanding why almost always requires looking at the code, and that understanding is what informs better tests.
- visarga 9mo agoAnother possibility is to implement the same spec twice, and do differential testing, you can catch diverging assumptions and clarify them.
- northfield27 9mo agoIsn't that too much work? Instead, just learning concepts with AI and then using HI (Human Intelligence) & AI to solve the problem at hand—by going through code line by line and writing tests - is a better approach productivity-, correctness-, efficiency-, and skill-wise. I can only think of LLMs as fast typists with some domain knowledge. Like typists of government/legal documents who know how to format documents but cannot practice law. Likewise, LLMs are code typists who can write good/decent/bad code but cannot practice software engineering - we need, and will need, a human for that.
- concats 9mo agoI agree. It's very missleading. Here's what the authors actually say: > AI assistance produces significant productivity gains across professional domains, particularly for novice workers. Yet how this assistance affects the development of skills required to effectively supervise AI remains unclear. Novice workers who rely heavily on AI to complete unfamiliar tasks may compromise their own skill acquisition in the process. We conduct randomized experiments to study how developers gained mastery of a new asynchronous programming library with and without the assistance of AI. We find that AI use impairs conceptual understanding, code reading, and debugging abilities, without delivering significant efficiency gains on average. Participants who fully delegated coding tasks showed some productivity improvements, but at the cost of learning the library. We identify six distinct AI interaction patterns, three of which involve cognitive engagement and preserve learning outcomes even when participants receive AI assistance. Our findings suggest that AI-enhanced productivity is not a shortcut to competence and AI assistance should be carefully adopted into workflows to preserve skill formation -- particularly in safety-critical domains.
- danbruc 9mo agoThat itself sounds contradictory to me. I assistance produces significant productivity gains across professional domains, particularly for novice workers. We find that AI use impairs conceptual understanding, code reading, and debugging abilities, without delivering significant efficiency gains on average. Are the two sentences talking about non-overlapping domains? Is there an important distinction between productivity and efficiency gains? Does one focus on novice users and one on experienced ones? Admittedly did not read the paper yet, might be clearer than the abstract.
- torginus 9mo agoThat doesn't really line up with my experience, I wanted to debug a CMake file recently, having done no such thing before - AI helped me walk through the potential issues, explaining what I got wrong. I learned a lot more in a short amount of time than I would've stumbling around on my own. Afaik its been known for a long time that the most effective way of learning a new skill, is to get private tutoring from an expert.
- omnicognate 9mo agoI agree the title should be changed, but as I commented on the dupe of this submission learning is not something that happens as a beginner, student or "junior" programmer and then stops. The job is learning, and after 25 years of doing it I learn more per day than ever.
- mold_aid 9mo agoThe study doesn't argue that you stopped learning.
- omnicognate 9mo agoI didn't say it did. I just pointed out that learning effectively isn't only a concern for "inexperienced developers still gaining knowledge".
- emsign 9mo ago> They said it doesn't show productivity gains for inexperienced developers still gaining knowledge. But that's what "impairs learning" means.
- deleted 9mo ago[deleted]
- omnicognate 9mo agoAn important aspect of this for professional programmers is that learning is not something that happens as a beginner, student or "junior" and then stops. The job is learning, and after 25 years of doing it I learn more per day than ever.
- cyclotron3k 9mo agoI've reached a steady state where the rate of learning matches the rate of forgetting
- TeMPOraL 9mo agoThat's one of several possibilities. I've reached a different steady state - one where the velocity of work exceeds the rate at which I can learn enough to fully understand the task at hand.
- bryanrasmussen 9mo agoto fix that you basically need to switch specialty or focus. A difficult thing to do if you are employed of course.
- sph 9mo agoHow old are you? At 39 (20 years of professional experience) I've forgotten more things in this field than I'm comfortable with today. I find it a bit sad that I've completely lost my Win32 reverse engineering skills I had in my teens, which have been replaced by nonsense like Kubernetes and aligning content with CSS Grid. And I must admit my appetite in learning new technologies has lessened dramatically in the past decade; to be fair, it gets to a point that most new ideas are just rehashing of older ones. When you know half a dozen programming languages or web frameworks, the next one takes you a couple hours to get comfortable with.
- doix 9mo ago> I've forgotten more things in this field than I'm comfortable with today. I find it a bit sad that I've completely lost my Win32 reverse engineering skills I had in my teens I'm a bit younger (33) but you'd be surprised how fast it comes back. I hadn't touched x86 assembly for probably 10 years at one point. Then someone asked a question in a modding community for an ancient game and after spending a few hours it mostly came back to me. I'm sure if you had to reverse engineer some win32 applications, it'd come back quickly.
- baalimago 9mo agoI've noticed this as well. I delegate to agentic coders on tasks I need to have done efficiently, which I could do myself and lack time to do. Or on tasks which are in areas I simply don't care much for, for languages which I don't like very much etc
- simonw 9mo agoI wonder why these Anthropic researchers chose GPT-4o for their study.
- simianwords 9mo agoThis is really strange and warrants some skepticism
- fragmede 9mo agoAnthropic paid a team to do a project, and gave them leeway to do it how they wanted. If anything, it's a good signal that Anthropic didn't lean on the scale to have the results go in their favor.
- hxugufjfjf 9mo agoIsn’t it technically in their favor if competition is proven bad, even if it would be equally easy to prove their product likely equally bad or even worse?
- segh 9mo agoFar far more people use ChatGPT than Claude.ai
- deleted 9mo ago[deleted]
- simonw 9mo agoKey snippet from the abstract: > Novice workers who rely heavily on AI to complete unfamiliar tasks may compromise their own skill acquisition in the process. We conduct randomized experiments to study how developers gained mastery of a new asynchronous programming library with and without the assistance of AI. We find that AI use impairs conceptual understanding, code reading, and debugging abilities, without delivering significant efficiency gains on average. The library in question was Python trio and the model they used was GPT-4o.
- vessenes 9mo ago@dang the title here is bait. I’d suggest the paper title: “Anthropic: How AI Impacts Skill Formation”
- grahamlee 9mo agoI’ve been making the case (e.g. https://youtu.be/uL8LiUu9M64?si=-XBHFMrz99VZsaAa https://youtu.be/uL8LiUu9M64?si=-XBHFMrz99VZsaAa [1]) that we have to be intentional about using AI to augment our skills, rather than outsourcing understanding: great to see Anthropic confirming that. [1] plug: this is a video about the Patreon community I founded to do exactly that. Just want to make sure you’re aware that’s the pitch before you do ahead and watch.
- MzxgckZtNqX5i 9mo agoDuplicate? Submission about the arXiv pre-print: https://news.ycombinator.com/item?id=46821360 https://news.ycombinator.com/item?id=46821360
- comrade1234 9mo agoOften when I use it I know that there is a way to do something and I know that I could figure it out by going through some api documents and maybe finding some examples on the web... IOW I already have something in mind. For example I wanted to add a rate-limiter to an api call with proper http codes, etc. I asked the ai (in IntelliJ it used to be Claude by default but they've since switched to Gemini as default) to generate one for me. The first version was not good so I asked it to do it again but with some changes. What would take me a couple of hours or more took less than 10 minutes.
- drooby 9mo agoExactly this. I’m starting to believe that people who think AI-generated code is garbage actually don’t know how to code. I hit about 10 years of coding experience right before AI hit the scene, which I guess makes me lucky. I know, with high confidence, what I want my code to look like, and I make the AI do it. And it does it damn well and damn fast. I think I sit at a unique point for leveraging AI best. Too junior and you create “working monsters.” Meanwhile, Engineering Managers and Directors treat it like humans, but it’s not AGI yet.
- northfield27 9mo agoEdit: Changed title Previous title: "Anthropic: AI Coding shows no productivity gains; impairs skill development" The previous title oversimplified the claim to "all" developers. I found the previous title meaningful while submitting this post because most of the false AI claims of "software engineer is finished" has mostly affected junior `inexperienced` engineers. But I think `junior inexperienced` was implicit which many people didn't pick. The paper makes a more nuanced claim that AI Coding speeds up work for inexperienced developers, leading to some productivity gains at the cost of actual skill development.
- reedf1 9mo agoThis is a fancy way of saying that if you invent the calculator, people get worse at sums. I'm not an AI doomer or a boomer - but it's clear to me that some skills will be permanently relegated to AI.
- visarga 9mo agoMany say generative AI is like a vending machine. But if your vending machine has not 1 button but a keyboard, and you type anything you want in, and it makes it (Star Trek Replicator) and you use it 10,000 times to refine your recipes, did you learn something or not? How about a 3D printer, do you learn something making designs and printing them?
- northfield27 9mo agoInstead of "vending machine", I see many people calling generative AI "slot machine", which more aptly describes current genAI tools. Yes, we can use it 10,000 times to refine our recipes, but "did we learn from it"? I am doubtful about that, given that even after running with the same prompt 10 times, it will give different answers in 8/10 responses. But I am very confident that I can learn by iterating and printing designs on a 3D printer.
- hahahahhaah 9mo ago3d printer: you learn something of you make CAD designs yourself and print them yes. It is a skill.
- latexr 9mo agoStar Trek replicators were deterministic. They had a library of things they could replicate that your programmed in and that’s the extent of what they could do. They replicated to the molecular level, no matter how many times you ask for something, you got the exact same thing. You’d never ask for a raktajino and get a raw steak. In the rare instances where they misbehaved as a plot point, they were treated as being broken and needing fixing, no one ever suggested “try changing your prompt, or ask it seventeen times until you get what you want”.
- gezman7 9mo agoThey lost me in the abstract when said “AI increase productivity especially with novice workers” From my experience, it was the most experienced and fluent in the engineering world who gained the most value from AI.
- gergo_b 9mo agoWhen I use AI to write code, after a week or 2, if I go back to the written code I have a hard time catching up. When I write code by myself I always just look at it and I understand what I did.
- northfield27 9mo ago++Hard Agree.
- jackdoe 9mo agoa program is function of the programmer, how you code is how you think. that is why it is really difficult, even after 60 years, for multiple people to work on the same codebase, over the years we have made all kinds of rules and processess so that code written by one person can be understood and changed by another. you can also read human code and empathise what were they thinking while writing it AI code is not for humans, it is just a stream of tokens that do something, you need to build skills to empirically verify that it does what you think it does, but it is pointless to "reason" about it.
- AstroBen 9mo agoNot only do I have a hard time catching up, but it's like I'm looking at a codebase I've never seen before, even though I absolutely reviewed the code before committing
- keeda 9mo agoAnother study from 2024 with similar findings: https://www.mdpi.com/2076-3417/14/10/4115 https://www.mdpi.com/2076-3417/14/10/4115 -- a bit more preliminary, but conducted with undergrad students still learning to program, so I expect the effect would be even more pronounced. This similarly indicates that reliance on LLM correlates with degraded performance in critical problem-solving, coding and debugging skills. On the bright side, using LLMs as a supplementary learning aid (e.g. clarifying doubts) showed no negative impact on critical skills. This is why I'm skeptical of people excited about "AI native" junior employees coming in and revamping the workplace. I haven't yet seen any evidence that AI can be effectively harnessed without some domain expertise, and I'm seeing mounting evidence that relying too much on it hinders building that expertise. I think those who wish to become experts in a domain would willingly eschew using AI in their chosen discipline until they've "built the muscles."
- postalcoder 9mo agoOne of the nice things about the "dumber" models (like GPT-4) was that it was good enough to get you really far, but never enough to complete the loop. It gave you maybe 90%. 20% of which you had to retrace -- so you had to do 30% of the tough work yourself, which meant manually learning things from scratch. The models are too good now. One thing I've noticed recently is that I've stopped dreaming about tough problems, be it code or math. The greatest feeling in the world is pounding your head against a problem for a couple of days and waking up the next morning with the solution sketched out in your mind. I don't think the solution is to be going full natty with things, but to work more alongside the code in an editor, rather than doing things in CLI.
- Oras 9mo agoYou still have the system design skills, and so far, LLMs are not that good in this field. They can give plausible architecture but most of the time it’s not usable if you’re starting from scratch. When you design the system, you’re an architect not a coder, so I see no difference between handing the design to agents or other developers, you’ve done the heavy lifting. In that perspective, I find LLMs quite useful for learning. But instead of coding, I find myself in long sessions back and forth to ask questions, requesting examples, sequence diagrams .. etc to visualise the final product.
- Thanemate 9mo agoI see this argument all the time, and while it sounds great on paper (you're an architect now, not a developer) people forget (or omit?) that a product needs far fewer architects than developers, meaning the workforce gets in fact trimmed down thanks to AI advancements.
- iamflimflam1 9mo agoI would also point out that a lot of real world problems don’t need a complex architecture. They just need to follow some well established patterns. It is a pattern matching problem and that seems to me to be something AI is/will be particularly good at. Maybe it won’t be the perfect architecture, or the most efficient implementation. But that doesn’t seem to have stopped many companies before.
- qweiopqweiop 9mo agoIt makes sense - juniors are coding faster but not understanding anything. Ironically it'll stop them getting more experienced despite feeling good. What I'm interested in is if the same applies for Senior+ developers. The soft signals are that people are feeling the atrophy but who knows...
- renegade-otter 9mo agoIt requires discipline. I use LLMs for mind-numbing refactoring and things I don't care learning. If you want to learn something, you do it yourself. It's like the gym. No pain, no gain. I am not saying you should be struggling performatively, like a person still proud in 2026 that they are still using Vim for large projects (good for you, eh), but sometimes you need to embrace the discomfort.
- bayindirh 9mo ago> like a person still proud in 2026 that they are still using Vim for large projects. I remember a small competition where people do a well-defined "share this content to others" routine to showcase how OS A is way more intuitive than OS B. There was also an OS C, which was way slower than A&B. Then, someone came using OS C, topped the chart with a sizeable time difference. The point is, sometimes mastery pays back so much that, while there's theoretically better ways to do something, the time you save from that mastery is enough of a reason to not to leave the tool you're using. I also have a couple of "odd" tools that I use and love, which would cause confused looks from many people. Yet, I'm fast and happy with them.
- skydhash 9mo ago> like a person still proud in 2026 that they are still using Vim for large projects These large projects are amlmost always in Java, C#, and co. Where the verbosity of the language make it required to use an IDE. Otherwise, it would be a struggle to identify which module to import or what prefix and suffix (Manager, Service, Abstract, Factory, DTO,…) to add to the concept name.
- mkehrt 9mo ago
- hollowturtle 9mo ago> Unsurprisingly, participants in the No AI group encountered more errors. These included errors in syntax and in Trio concepts, the latter of which mapped directly to topics tested on the evaluation I'm wondering if we could have the best of IDE/Editor features like LSP and LLMs working together. With an LSP syntax errors are a solved problem, if the language is statically typed I often find myself just checking out type signatures of library methods, simpler to me than asking an LLM. But I would love to have LLMs fixing your syntax and with types available or not, giving suggestions on how to best use the libraries given current context. Cursor tab does that to some extent but it's not fool proof and it still feels too "statistical". I'd love to have something deeply integrated with LSPs and IDE features, for example VSCode alone has the ability of suggesting imports, Cursor tries to complete them statistically but it often suggest the wrong import path. I'd like to have the twos working together. Another example is renaming identifiers with F2, it is reliable and predictable, can't say the same when asking an agent doing that. On the other hand if the pattern isn't predictable, e.g. a migration where a 1 to 1 rename isn't enough, but needs to find a pattern, LLMs are just great. So I'd love to have an F2 feature augmented with LLMs capabilities
- gorbachev 9mo agoI've found the AI assisted auto-completion to be very valuable. It's definitely sped up my coding and reduced the number of errors I make. It reduces the context switching between coding and referencing docs quite a bit.
- hollowturtle 9mo agoHave you read my comment or are you a bot?
- falloutx 9mo agoCan we ban Anthropic research papers to be submitted on HN? This study is so bad, the sample size is n = 52 and then in some conclusions it goes down to n = 2.
- stuxnet79 9mo agoIt is sad to see how far Anthropic and OpenAI have strayed from their research roots, that a pitiful manuscript like this can pass muster.
- raphman 9mo agoThis seems to be a totally normal sample size for such kinds of studies where you look at quantitative and qualitative aspects. Is this the only reason why you find the study to be bad?
- suralind 9mo agoNo surprise, really. You can use AI to explore new horizons or propose an initial sketch, but for anything larger than small changes - you must do a rewrite. Not just a review. An actual rewrite. AI can do well adding a function, but you can't vibe code an app and get smarter. I don't necessarily think that writing more code means you get better coder. I automate nearly all my tests with AI and large chunk of bugfixing as well. I will regularly ask AI to propose an architecture or introduce a new pattern if I don't have a goal in my mind. But in these last 2 examples, I will always redesign the entire approach to be what I consider a better, cleaner interface. I don't recall AI ever getting that right, but must admit I asked AI in the first place cos I didn't know where to start. If I had to summarize, I would say to let AI implement coding, but not API design/architecture. But at the same time, you can only get good at those by knowing what doesn't work and trying to find a better solution.
- teiferer 9mo ago> I automate nearly all my tests with AI How exactly? Do you tell the agent "please write a test for this" or do you also feed it some form of spec to describe what the tested thing is expected to do? And do these tests ever fail? Asking because the first option essentially just sets the bugs in stone. Wouldn't it make sense to do it the other way around? You write the test, let the AI generate the code? The test essentially represents the spec and if the AI produces sth which passes all your tests but is still not what you want, then you have a test hole.
- suralind 9mo agoI'm not saying my approach is correct, keep that in mind. I care more about the code than the tests. Tests are verification of my work. And yes, there is a risk of AI "navigating around" bugs, but I found that a lot of the time AI will actually spot a bug and suggest a fix. I also review each line to look for improvements. Edit: to answer your question, I will typically ask it to test a specific test case or few test cases. Very rarely will I ask it to "add tests everywhere". Yes, these tests frequently fail and the agent will fix on 2nd+ iteration after it runs the tests. One more thing to add is that a lot of the time agent will add a "dummy" test. I don't really accept those for coverage's sake.
- jbellis 9mo agoGood to see that Anthropic is honest and open enough to publish a result with a mostly negative headline. > Importantly, using AI assistance didn’t guarantee a lower score. How someone used AI influenced how much information they retained. The participants who showed stronger mastery used AI assistance not just to produce code but to build comprehension while doing so—whether by asking follow-up questions, requesting explanations, or posing conceptual questions while coding independently. This might be cynically taken as cope, but it matches my own experience. A poor analogy until I find a better one: I don't do arithmetic in my head anymore, it's enough for me to know that 12038 x 912 is in the neighborhood of 10M, if the calculator gives me an answer much different from that then I know something went wrong. In the same way, I'm not writing many for loops by hand anymore but I know how the code works at a high level and how I want to change it. (We're building Brokk to nudge users in this direction and not a magic "Claude take the wheel" button; link in bio.)
- Ronsenshi 9mo agoIt's good that there's some research into this - to confirm what is generally obvious to anyone who studied anything. You have to think about what you are doing, write things by hand, use the skill to improve and retain it. Common example here is learning a language. Say, you learn French or Spanish throughout your school years or on Duolingo. But unless you're lucky enough to be amazing with language skills, if you don't actually use it, you will hit a wall eventually. And similarly if you stop using language that you already know - it will slowly degrade over time.
- appsoftware 9mo agoI think this is where current senior engineers have an advantage, like I felt when I was a junior that the older guys had an advantage in understanding the low level stuff like assembly and hardware. But software keeps moving forward - my lack of time coding assembly by hand has never hindered my career. People will learn what they need to learn to be productive. When AI stops working in a given situation, people will learn the low level detail as they need to. When I was a junior I learned a couple of languages in depth, but everything since has been top down, learn-as-i-need to. I don't remember everything I've learned over 20 years software engineering, and the forgetting started way before my use of AI. It's true that conceptual understanding is necessary, but everyone's acting like all human coders are better than all AI's, and that is not the case. Poorly architected, spaghetti code existed way before LLM's.
- ekidd 9mo agoI want to compliment Anthropic for doing this research and publishing it. One of my advantages(?) when it comes to using AI is that I've been the "debugger of last resort" for other people's code for over 20 years now. I've found and fixed compiler code generation bugs that were breaking application code. I'm used to working in teams and to delegating lots of code creation to teammates. And frankly, I've reached a point where I don't want to be an expert in the JavaScript ORM of the month. It will fall out of fashion in 2 years anyway. And if it suddenly breaks in old code, I'll learn what I need to fix it. In the meantime, I need to know enough to code review it, and to thoroughly understand any potential security issues. That's it. Similarly, I just had Claude convert a bunch of Rust projects from anyhow to miette, and I definitely couldn't pass a quiz on miette. I'm OK with this. I still develop deep expertise in brand new stuff, but I do so strategically. Does it offer a lot of leverage? Will people still be using it on greenfield projects next year? Then I'm going to learn it. So at the current state of tech, Claude basically allows me to spend my learning strategically. I know the basics cold, and I learn the new stuff that matters.
- lelanthran 9mo ago> But software keeps moving forward - my lack of time coding assembly by hand has never hindered my career. Well, yeah. You were still (presumably) debugging the code you did write in the higher level language. The linked article makes it very clear that the largest decline was in problem solving (debugging). The juniors starting with AI today are most definitely not going to do that problem-solving on their own.
- MarginalGainz 9mo ago[dead]
- asyncadventure 9mo ago[dead]
- HPsquared 9mo agoHigh-level languages impact assembly coding skills, which are almost extinct.
- deleted 9mo ago[deleted]
- discreteevent 9mo agoThe learning loop and LLMs [1] is well worth reading and the anthropic blog post above concurs with it in a number of places. It's fine to use LLMs as an assistant to understanding but your goal as an engineer should always be understanding and the only real way to do that is to have to struggle to make things yourself. [1] https://martinfowler.com/articles/llm-learning-loop.html https://martinfowler.com/articles/llm-learning-loop.html
- i_love_retros 9mo agoI don't understand how so many people can be OK with inflicting brain rot on themselves and basically engineering themselves out of a career. I use a web ui to chat with ai and do research, and even then I sometimes have to give up and accept that it won't provide the best solution that I know exists and am just to lazy to flesh out on my own. And to the official docs I go. But the coding tools, I'm sorry but they constantly disappoint me. Especially the agents. In fact the agents fucking scare me. Thank god copilot prompts me before running a terminal command. The other day I asked it about a cypress test function and the agent asked if it could run some completely unrelated gibberish python code in my terminal. That's just one of many weird things it's done. My colleagues vibe code things because they don't have experience in the tech we use on our project, it gets passed to me to review with "I hope you understand this". Our manager doesn't care because he's all in on AI and just wants the project to meet deadlines because he's scared for his job, and each level up the org chart from him it's the same. If this is what software development is now then I need to find another career because its pathetic, boring, and stressful for anyone with integrity.
- siliconc0w 9mo agoGood for them to design and publish this - I doubt you'd see anything like this from the other labs. The loss of competency seems pretty obvious but it's good to have data. What is also interesting to me is that the AI assisted group accomplished the task a bit faster but it wasn't statistically significant. Which seems to align with other findings that AI can make you 'feel' like you're working faster but that perception isn't always matched by the reality. So you're trading learning and eroding competency for a productivity boost which isn't always there.
- brookst 9mo agoI wish they had attempted to measure product management skill. My hypothesis is that the AI users gained less in coding skill, but improved in spec/requirement writing skills. But there’s no data, so it’s just my speculation. Intuitively, I think AI is shifting entry level programmers to focus on expressing requirements clearly, which may not be all that bad of a thing.
- SJMG 9mo ago> I wish they had attempted to measure product management skill. We're definitely getting better at writing specs. The issue is the labor bottleneck is competent senior engineers, not juniors, not PMs, not box-and-arrow staff engineers. > I think AI is shifting entry level programmers to focus on expressing requirements clearly This is what the TDD advocates were saying years ago.
- empath75 9mo agoWhat AI development has done for my team is the following: Dramatically improved Jira usage -- better, more descriptive tickets with actionable user stories and clearly expressed requirements. Dramatically improved github PRs. Dramatically improved test coverage. Dramatically improved documentation, not just in code but in comments. Basically all _for free_, while at the same time probably doubling or tripling our pace at closing issues, including some issues in our backlog that had lingered for months because they were annoying and nobody felt like working on them, but were easy for claude to knock out.
- lelanthran 9mo agoI must say I am quite impressed that Anthropic published this, given that they found that: 1. AI help produced a solution only 2m faster, and 2. AI help reduced retention of skill by 17%
- luxuryballs 9mo agoI expect, especially in things like transit or healthcare, that people still need to review the code that is written. Even if we write bots that are good at scanning code for issues, we still can’t risk trusting any code blindly for some industries… I can start to see the dangers of ai now, whereas before it was more imaginary sci-fi stuff I couldn’t pin down. On the other hand a dystopian sci-fi full of smart everything seems more possible now since code can be whipped up so easily, which means perhaps that the ability for your smart-monocle to find and hack things in every day life is also way more likely now if the world around you is saturated by quick and insecure code.
- shayonj 9mo agoBeing able to debug and diagnose difficult problems and distributed systems still remains a key skill, at least until Opus or some other model gets better at it. I think being intentional about learning while using AI to be productive is where the stitch is, at least for folks earlier in their career. I touch that in my post here as well: https://www.shayon.dev/post/2026/19/software-engineering-when-the-machine-writes-code/ https://www.shayon.dev/post/2026/19/software-engineering-whe...
- FitchApps 9mo agoThis is all wonderful and all but what happens when these tools aren't available - you lose internet connection or the agent is misconfigured or you simply ran out of credits. How would someone support their business / software / livelihood? First, the agents would take our software writing tasks then they encroach on CI/CD and release process and take over from there... Now, imagine a scenario of a typical SWE in todays or maybe not-so-distant future: the agents build your software, you simply a gate-keeper/prompt engineer, all tests pass, you're now doing a production deployment at 12am and something happens but your agents are down. At that point, what do you do if you haven't build or even deployed the system? You're like a L1 support at this point, pretty useless and clueless when it comes to fully understanding and supporting the application .
- bathwaterpizza 9mo agoBuy a Mac and run a local model that's likely good enough
- akomtu 9mo agoOr your business gets flagged by an automated system for dubious reasons with no way to appeal. It's the old story of big tech: they pretend to be on your side first, but their motives are nefarious.
- dham 9mo agoThe tools are going to ~zero (~ 5 years). The open source LLM's are here. No one can put them back or take them down. No internet, no problem. I don't see a long term future in frontier llm companies.
- crvdgc 9mo agoAmong the six patterns identified, it's interesting that "Iterative AI Debugging" takes more time (and possibly tokens) but results in worse scores than letting AI do everything. So this part really should be handed over to agent loops. The three high score patterns are interesting as well. "Conceptual Inquiry" actually results in less time and doesn't improve the score than the other two, which is quite surprising to me.
- devnonymous 9mo agoFrom the "Discussion" section: > This suggests that as companies transition to more AI code writing with human supervision, humans may not possess the necessary skills to validate and debug AI-written code if their skill formation was inhibited by using AI in the first place. I'm reminded of "Kernighan's lever" : > Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? AI is writing code in the cleverest way possible which then introduces cognitive load for anyone who hasn't encountered these patterns previously. Although, one might say that AI would also assist in the debugging, you run the risk of adding further complexity in the process of 'fixing' the bugs and before you know it you have a big stinking ball of mud.
- Terretta 9mo ago> AI is writing code in the cleverest way possible … On the contrary, without mastery guiding, AI writes code in the most boilerplate way possible, even if that means compromising logic or functionality. > … which then introduces cognitive load for anyone who hasn't encountered these patterns previously And for those who have. This is the enterprise Java effect. The old trope is Java was designed to make all devs median and all produce the same median code so enterprises don't have to worry about the individual devs, it's all the same bowl of unflavored oatmeal. When you read code from vibe coding novice, it's difficult to grok the intended logic because that's buried within these chunks of enterprise pattern boilerplate as if the solution was somehow regex'd at random from StackOverflow until some random combination happened to pass a similarly randomized bag of tests. The cognitive load to reverse this mess into clean clear expression of logic is very high whether a human or machine "coded" this way. In both cases, the antidote is caring for craft and mastery first, with an almost pseudocode clarity in expressing the desired outcome. OK, but -- even this doesn't guarantee the result one wants. Because even if the master writes the code themselves, they may find their intent was flawed. They expressed the intent clearly, but their intention wasn't helpful for the outcome needed. This is where rapid iteration comes in. A master of software engineering may be able to iterate on intent faster with the LLM typing the code for them than they can type and iterate on their own. With parallel work sessions, they may be able to explore intention space faster to reach the outcome. Each seasonal improvement in LLM models' ability to avoid implementation errors while iterating this way makes the software developer with mastery but lack of perfect pre-visualization of intent more productive. Less time cleaning novice coding errors, more cycles per hour iterating the design in their head. This type of productivity gain has been meaningful for this type of developer. At the same time, the "chain of thought" or "reasoning" loops being built into the model are reaching into this intention space, covering more of the prompt engineering space for devs with less mastery being unable to express much less iterate intent. This lets vibe "coders" imagine their productivity is improving as well. If the output of the vibe coder (usually product managers, if you look closely) is considered to be something like a living mockup and not a product, then actual software engineers can take that and add the *-ilities (supportability, maintainability, etc. that the vibe coder has never specified whether vibing or product managing). Using a vibed prototype can accelerate the transfer of product conception from the PM to the dev team more effectively than PM just yelling at a dev tech lead that the dev hasn't understood what the PM is saying the product should be. Devs can actually help this process by ensuring the product "idea" person is armed with a claude.md to orient the pattern medianizer machine with the below the waterline stuff engineering teams know are 80% of the cost-through-time. There's not a lot of discussion of prototype vibing being a new way for product owners and engineering teams to gain clarity above the waterline, or whether it's productive. Here's a dirty secret: it's more productive in that it's more protective of the rarer skilset's time. The vibe time wasted is paid by the product owner (hallelujah), the eng team can start with a prototype the product owner iterated with while getting their intent sorted out, so now engineerings iterations shift from intent (PM headspace) to implementation (eng headspace). Both loops were tightened. > you run the risk of adding further complexity in the process of 'fixing' the bugs and before you know it you have a big stinking ball of mud. Iterating where the problem lies, uncoupling these separate intention and iteration loops, addresses this paradox.
- i_am_proteus 9mo agoTLDR from the paper (https://arxiv.org/pdf/2601.20245 https://arxiv.org/pdf/2601.20245) >We find that AI use impairs conceptual understanding, code reading, and debugging abilities, without delivering significant efficiency gains on average.
- jerf 9mo agoIf AIs were to plateau where they are for an extended period of time, I definitely worry about their net effect on software quality. One of the things I worry about is people not even learning what they can ask the computer to do properly because they don't understand the underlying system well enough. One of my little pet peeves, especially since I do a lot of work in the networking space, is code that works with strings instead of streams. For example, it is not that difficult (with proper languages and libraries) to write an HTTP POST handler that will accept a multi-gigabyte file and upload it to an S3 bucket, perhaps gzip'ing it along the way, such that any size file can be uploaded without reference to the RAM on the machine, by streaming it rather than loading the entire file into a string on upload, then uploading that file to S3, requiring massive amounts of RAM in the middle. There's still a lot of people and code out in the world that works that way. AIs are learning from all that code. The mass of not-very-well-written code can overwhelm the good stuff. And that's just one example. A whole bunch of stuff that proliferates across a code base like that and you get yet another layer of sloppiness that chews through hardware and negates yet another few generations of hardware advances. Another thing is that, at the moment, code that is good for an AI is also good for a human. They may not quite be 100% the same but right now they're still largely in sync. (And if we are wise, we will work to keep it that way, which is another conversation, and we probably won't because we aren't going to be this wise at scale, which is yet another conversation.) I do a lot of little things like use little types to maintain invariants in my code [1]. This is good for humans, and good for AIs. The advantages of strong typing still work for AIs as well. Yet none of the AIs I've used seem to use this technique, even with a code base in context that uses this techique extensively, nor are they very good at it, at least in my experience. They almost never spontaneously realize they need a new type, and whenever they go to refactor one of these things they utterly annihilate all the utility of the type in the process, completely blind to the concept of invariants. Not only do they tend to code in typeless goo, they'll even turn well-typed code back into goo if you let them. And the AIs are not so amazing that they overcome the problems even so. (The way these vibe coded code bases tend to become typeless formless goo as you scale your vibe coding up is one of the reasons why vibe coding doesn't scale up as well as it initially seems to. It's good goo, it's neat goo, it is no sarcasm really amazing that it can spew this goo at several lines per second, but it's still goo and if you need something stronger than goo you have problems. There are times when this is perfect; I'm just about to go spray some goo myself for doing some benchmarking where I just need some data generated. But not everything can be solved that way.) And who is going to learn to shepherd them through writing better code, if nobody understands these principles anymore? I started this post with an "if" statement, which wraps the whole rest of the body. Maybe AIs will advance to the point where they're really good at this, maybe better than humans, and it'll be OK that humans lose understanding of this. However, we remain a ways away from this. And even if we get there, it may yet be more years away than we'd like; 10, 15 years of accreting this sort of goo in our code bases and when the AIs that actually can clean this up get here they may have quite a hard time with what their predecessors left behind. [1]: https://jerf.org/iri/post/2025/fp_lessons_types_as_assertions/ https://jerf.org/iri/post/2025/fp_lessons_types_as_assertion...
- fatheranton 9mo ago[dead]
- rkagerer 9mo agoIs anyone else concerned about the huge, centralized dependency AI introduces into your workflow? This is one reason I've been resistant to using it. I don't want my work to go to the companies providing the models. I don't trust them. Not only with my data in the first place, but also that they'll keep providing the service over the long term without totally enshittifying the experience. I'll be so much more excited by this when local models catch up to (or even exceed) frontier-level quality. How close are we to this? (In my case, I don't even care if it costs a boatload in hardware capital to deploy.)
- direwolf20 9mo agoAbout as much as they're worried about AWS.
- rkagerer 9mo agoIs GLM 4.7 still leading in terms of local models?
- AstroBen 9mo agoI actually think this research points out why that isn't an issue: used properly, AI can help you learn and act as support. I'd also be fine if my LSP disappeared overnight. Kind of annoying but meh I'll be fine You should be concerned if you're outsourcing your work to it, though. There's also no benefit to doing that outside of laziness (the research shows no statistically significant productivity improvement)
- replwoacause 9mo agoI guess its cool they published this paper, but the cynic in me says this is more a PR/optics move to reinforce the narrative that "we're an AI safety-first company" because "look see, we published a study that undermines our own company's benefit", while knowing full well that at the end of the day a majority of people in AI decision making positions are always going to push harder and harder for X thing to be done as fast as possible. So while the warning is "nice" I suppose, it feels sort of like Sam Altman talking about how OpenAI needs to be more regulated by the government meanwhile authors, artists, and publishers are suing because their work was actively being stolen. Sure, it sounds good to call for more regulation, or admit that there are downsides to your product, but when you know these things are falling largely on deaf ears and you continue operating business as usual, I wonder how much of it is just theater.
- Kiboneu 9mo agoWhen coding agents are unavailable I just continue to code myself or focus on architecture specification / feature descriptions. This really helps me retain my skills, though there is some "skew" (I'm not sure how to describe it, it's a feeling). Making instructions to LLMs to me is pretty similar to doing the basic software architecture and specification work that a lot of people tend to skip (now, there's not choice and it's directly useful). When you skip specification for a sufficiently complex project, you likely introduce footguns along the way that slows down development significantly. So what would one expect when they run a bunch of agents based on a single sentence prompt?! Like the architecture work and making good quality specs, working on code has a guiding effect on the coding agents. So in a way, it also benefits to clarify items that may be more ambiguous in the spec. If I write some of the code myself, it will make fewer assumptions about my intent when it touches it (especially when I didn't specify them in the architecture or if they are difficult to articulate in natural language). In small iterations, the agent checks back for each task. Because I spend a lot of time on architecture, I already have a model in my mind of how small code snippets and feature will connect. Maybe my comfort with reviewing AI code comes form spending a large chunk of my life reverse engineering human code, to understand it to the extent that complex bugs and vulnerabilities emerge. I've spent a lot of time with different styles of code writing from awful to "this programmer must have a permanent line to god to do this so elegantly". The models is train on that, so I have a little cluster of neurons in my head that's shaped closely enough to follow the model's shape.
- mriet 9mo agoI'm already having flashbacks of how the tobacco industry faired..
- epolanski 9mo ago> Importantly, using AI assistance didn’t guarantee a lower score. How someone used AI influenced how much information they retained. The participants who showed stronger mastery used AI assistance not just to produce code but to build comprehension while doing so This is my experience exactly. I have never been learning as much as with AI. It's interesting that numbers show most users degrade but I hate the general assumption that some cannot use it properly to learn faster as well.
- roark_howard 9mo agoGuilt driven attempt to save jobs?
- amelius 9mo ago> We find that AI use impairs conceptual understanding, code reading, and debugging abilities, without delivering significant efficiency gains on average. Ouch. See also: https://news.ycombinator.com/item?id=46820924 https://news.ycombinator.com/item?id=46820924 > On average, participants in the AI group finished about two minutes faster, although the difference was not statistically significant. There was, however, a significant difference in test scores: the AI group averaged 50% on the quiz, compared to 67% in the hand-coding group
- deleted 9mo ago[deleted]
- Wojtkie 9mo agoThis is interesting. I started teaching myself Polars and used Claude to help me muscle through some documentation in order to meet deadlines on a project. I found that Claude wasn't too great at first at it and returned a lot of hallucinated methods or methods that existed in Pandas but not Polars. I chalk this up to context blurring and that there's probably a lot less Polars code in the training corpus. I found it most useful for quickly pointing me to the right documentation, where I'd learn the right implementation and then use it. It was terrible for the code, but helpful as a glorified doc search.
- divbzero 9mo agoIn another half century, will this sound like “How compilers impact the formation of assembly coding skills” sounds today?
- gordonhart 9mo agoHinges on whether this new high level -> low level transformation becomes reliable enough to build watertight abstractions on top of it. If AI code becomes good enough that you don't have to worry about the low-level representation 99.9...% of the time, absolutely. But we're pretty far from that at the moment and it's impossible to say where things will be in another 50 years.
- siliconc0w 9mo agoIt's pretty insidious to think that these AI labs want you become so dependent on them so that once the VC-gravy-train stops they can hike the token price 10x and you'll still pay because you have no other choice. (thankfully market dynamics and OSS alternatives will probably stop this but it's not a guarantee, you need like at least six viable firms before you usually see competitive behavior)
- Zababa 9mo ago>It's pretty insidious to think that these AI labs want you become so dependent on them so that once the VC-gravy-train stops they can hike the token price 10x and you'll still pay because you have no other choice. I don't think that's true? From what I understand most labs are making money from subscription users (maybe not if you include training costs, but still, they're not selling at a loss). >(thankfully market dynamics and OSS alternatives will probably stop this but it's not a guarantee, you need like at least six viable firms before you usually see competitive behavior) OpenAI is very aggressive with the volume of usage you can get from Codex, Google/DeepMind with Gemini. Anthropic reduced the token price with the latest Opus release (4.5).
- system2 9mo agoI respect Anthoropic for writing an article like this. I can't imagine Sam Altman allowing someone to write something like this that is not a 100% advertisement of their own products or mightiness.
- lifetimerubyist 9mo ago[flagged]
- wan23 9mo agoIs it good or bad when companies research their own products and release the results honestly?
- acedTrex 9mo agoAnthropic is kinda odd in that it seems to be still largely a research company that also has some products they sorta care about.
- lifetimerubyist 9mo agoI just think it's hilarious that on one hand Anthropic will do research that basically concludes that using AI assistance makes you worse at your job. While on the other hand want you to buy their AI assistance products for obscene prices, and hope you get addicted to them so you can never stop giving them money. They also loudly brag about how none of their engineers actually write code anymore - while the quality of their products is actually dog. It's worse than snakeoil that does nothing - it's like they are selling you poison while telling you it'll kill you. We're supposed to applaud them for being honest? It's a joke. They are basically drug dealers getting high on their own supply.
- cowboylowrez 9mo agoYeah all this seems to be the wrong tech at the wrong time. The actual technology is amazing, but its getting mixed into all this greed and stupidity which is innate in our humanity, especially with the sort of society we have in the US. Heck I even mooch off of googles freebie gemini so its not like I've got any room to talk but I'm human too lol
- dang 9mo agoEdit: actually, this account has been breaking the site guidelines so frequently that I've banned it. If you don't want to be banned, you're welcome to email hn@ycombinator.com and give us reason to believe that you'll follow the rules in the future. --- original comment: --- Can you please make your substantive points thoughtfully, rather than being snarky? This is in the site guidelines: https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html. Also, please don't use quotation marks to make it look like you're quoting someone when you aren't.
- cleandreams 9mo agoI'm anxious about code quality in critical infrastructure in 5 years or so. Also my mastery of code starts with design and implementation that results in deep, intuitive understanding. Then I can do good code reviews and fix bugs fast fast fast. Now engineers leap from AI assisted or even dominated implementation to code reviews. Lots of reading code without that deep level of mastery. With this approach I have less confidence in the humans who are in the loop.
- generalizations 9mo agoFrom Plato's Phaedrus, on the invention of writing: Theuth: "This invention, O king, will make the Egyptians wiser and will improve their memories; for it is an elixir of memory and wisdom that I have discovered." Thamus replied: "Most ingenious Theuth, one man has the ability to beget arts, but the ability to judge of their usefulness or harmfulness to their users belongs to another; and now you, who are the father of letters, have been led by your affection to ascribe to them a power the opposite of that which they really possess. For this invention will produce forgetfulness in the minds of those who learn to use it, because they will not practice their memory. Their trust in writing, produced by external characters which are no part of themselves, will discourage the use of their own memory within them. You have discovered an elixir not of memory but of reminding; and you offer your pupils the appearance of wisdom, not true wisdom, for they will read many things without instruction and will therefore seem to know many things, when they are for the most part ignorant and hard to get along with, since they are not wise, but only appear wise." Which is to say: "All this has happened before, and will happen again."
- buredoranna 9mo agoRevealing AI is a tool, and like any other tool, its how you use it. If you use it with the express intent to learn, it is an amazing tool. If you use it as a crutch, it results in "learning avoidance".
- jmatthews 9mo agoI find this so hard to get my head around. I am wildly more prolific with agentic coding. It's at minimum a 10x for the first several iterations and when you get into the heavy detail part I am still the choke point.
- yalogin 9mo agoIs this the equivalent of cigarette companies putting “smoking kills” on their packaging?
- fatheranton 9mo ago[dead]
- oxag3n 9mo ago> For novice workers in software engineering or any other industry, our study can be viewed as a small piece of evidence toward the value of intentional skill development with AI tools. TL;DR it's not AI that makes you dumb, it's the wrong "Output style" - just choose learning style.
- journal 9mo agoAI is OIL for your brain. Imagine being able to do 1000% more.
- irrelevant1915 9mo agoInteresting read. Makes me wonder how often we mistake convenience for competence when using AI tools.
- deleted 9mo ago[deleted]