Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Sounds like a devious plan to turn me from a self diagnosed 10x developer (& Founder, CEO, Serial Entrepreneur) into a plain old 1x regular Joe.
  • More like a 0.1x tokenmaxxing subscriber.
  • In my love(?)-hate relationship with "vibecoding", even I tried this approach. For a while it worked, though that "while" didn't last as long as the months OOP has been riding this wave. Though, the vibes have usually been off, so I wish I could keep both thinking of and writing that code which adds negligibly to shareholder value. I say "wish" because a part of me has definitely been hijacked, in much the same way as the addictive type of social media. Sometimes I feel like I need a serious intervention.
  • Can't agree more, I feel the same.
  • LLMs are addictive, no doubt about it. We've found the cigarette of our time.
  • As someone who, at a point, would copy homework from someone else, copy book reports from online, and use the answer sheets to complete assignments, I can tell you this strategy is long known to accumulate and not prevent cognitive debt
  • How so?
  • u sure?
  • If you do it mindlessly, I'm sure you are right. But one could try to understand and integrate each piece of code as they "copy" it over. May be hard to sustain though.
  • > I can tell you this strategy is long known to accumulate and not prevent cognitive debt

    When you say "long known" it sounds like this is established science. Is there a link you can share?

  • > would copy homework from someone else

    I was pretty good at it - mostly remembered to change the name at the top of the paper too.

    Struggled at moderated exams; think it must have been the time pressure or something.

  • As an aside, back in the days of Stack Exchange I would always type out manually whatever answer I found to make sure I understood WTF I was adding to the system.
  • I did this too. Almost always I'd rename variables, change formatting, add or remove comments, etc..

    Unfortunately this feels less easy to do with modern tools. For example, Claude Code expects to edit your actual source files, and the Claude chat is much worse at writing code.

  • What I did is kinda similar, I downgraded to $20 plan and just ask questions and almost never let it write the code, and if I can I use the web ui like the good old days and not spend my CLI tokens.
    by jruz
  • Big no for retyping llm generated code by hand.

    But a big yes for still typing code by hand, and not leaving it to the llm. Except it has to be the code generated by your brain.

    That is what will create new neurons and new connections, which is what will keep away the cognitive decline.

    And the constraint of not having to use llms will enhance creativity.

    Actually, the constraints llms add to your code are more in number than the former. llms code in only the specific ways they've been trained on. So you won't ever come across of other ways.

    Off the top of my head.. here's RubyQuiz.com [0] which I came across when I was learning ruby more than a decade ago. Looking at the many user-submitted solutions (you have to download the zip file!) you'll see completely different ways the problems were solved.

    Sure, many won't be deemed efficient or standard by today's llm or rubocop checks, but looking at their code.. and retyping them and seeing them work.. was crucial in how I was able to think in Ruby for solving coding problems.

    I did the same with Go too, with the "learn go with tests" guide [1].

    [0] - http://rubyquiz.com/

    [1] - https://quii.gitbook.io/learn-go-with-tests

  • I would love an agentic tool that simply finds code locations and opens them in my editor, so that I can write the implementation. I find this to be the most tedious and disorienting part, especially in languages without strong typing, that de-emphasize navigable references between classes. For example, wouldn’t necessarily need this tool for Java. Would like it for Ruby.
  • I used to type in the programs from Commodore 64 Magazine back in the day. If you just touch type them in you learn very little. If I wanted to understand them, I wouldn't do it while typing. Sure a bit rubs off and probably more if you have to understand where to put the code rather than just start typing from the top, but still not enough. If you "make it your own" then you're probably at the right level of understanding.
  • An entire generation of programmers was created in the 1980s from typing code from magazines. OTOH the only way to run it was to first type it in. Today people have too many options to be bothered I suppose.
  • > Big no for retyping llm generated code by hand.

    There must be some merit to retyping LLM generated code, even verbatim. In school, I would rewrite or re-typeset notes as a study habit. In doing so, I'd review content, detect errors, synthesize concepts simply because rewriting notes forced me to pay attention at the per-word level.

    While retyping LLM code is not something I personally do, I'd imagine it could bestow similar benefits.

    by gw32
  • There are jobs where llms can massively speed up delivery. Think about tiny/one man indie games for example, they can also get (stolen) assets almost for free. Helping with hobby projects, a subtype of that one man show.

    Then there are sluggish corporate jobs. Here, even 10x speed up of development won't change delivery dates significantly or at all. I am in one such job, team leader has claude code higher tier and basically uses it for some more complex bash scripts and thats mostly it. Given this topic, I dont complain much, I value my long term senior skills way more than those new agentic ones.

    The middle is... well somewhere middle.

  • I think people use these tools in varying ways, sometimes in the same session, and there are no hard-and-fast correct answers.

    For example:

    Sometimes I just need to blast something out which works well enough so I can either consider the output or play with the tool it generated to see if I'm on the track for solving my bigger problem. In these instances, I just say, do it, and don't focus too much on the code it produces.

    Sometimes I am using languages or tools I am not an expert in. In many of these cases, I do manually type out the LLM's suggestions so that I am more intimately familiar with the syntax, libraries and idioms being used. Frequently pausing to look at actual documentation or find examples of sample code. It's a more interactive version of what I might have been doing a couple years ago googling solutions on stack overflow.

  • > But a big yes for still typing code by hand, and not leaving it to the llm. Except it has to be the code generated by your brain.

    > That is what will create new neurons and new connections, which is what will keep away the cognitive decline.

    100% agree with this.

    The problem is, your employer doesn’t care whether your brain is creating new neurons and connections. They care about productivity and profit.

    I feel like the folks that believe we can continue to write code by hand are either in denial that LLMs will eventually (if not already) outperform handwritten code, or are in denial that employers will be ok with lower levels of productivity.

    If you have the luxury of working for an employer that either doesn’t care or is oblivious to this, then 100% continue writing code by hand.

    Or if you do work on the side (whether for fun or for profit) and are ok with lower productivity, then yes, stick to handwritten code.

    But just because handwriting code is better for your brain and cognitive development, doesn’t mean that the industry will be in support of it.

  • I disagree. Before coding agents really took off, back in like 2022, I was trying to learn how to create grammars in Treesitter. One evening I sat down with ChatGPT and had it generate a grammar for me. But because it was on ChatGPT, I had to manually write everything it spit out.

    What ended up happening is that I was typing, I'd notice little weird bits here and there, and I'd ask questions about it, explore alternatives, etc. So the end result was partially generated by ChatGPT, but also partially influenced by me.

    But the biggest win was that within 3-4 hours, I was comfortable enough with the syntax that I was writing it entirely by hand, without AI assistance.

    Now, if all you're doing is literally typing the characters and not thinking at all about what you're typing, and if you accept the LLMs output verbatim, then yes I'd say that you aren't really learning anything. But this is no different than just copying things from Stack Overflow. That behavior is nothing new.

    The core distinction, as always, is whether you are exercising your brain.

  • This will cause cognitive debt anyway. As mentioned in https://arxiv.org/pdf/2509.21972v1: "When students rely on these outputs as a substitute for their own reasoning or critical engagement, the learning process is fundamentally compromised. Genuine learning requires the active construction of meaning, integration of knowledge, and reflective engagement with content. These processes cannot occur through passive consumption of syntactically correct but semantically hollow responses. Without this deeper cognitive work, learners risk mistaking linguistic fluency for understanding, thereby undermining the very goals of education".

    Personally, I don't think we will ever be able to reconcile using LLMs and cognitive debt. Even before LLMs we were aware if it: we knew people moving to managerial/PM roles eventually get their coding skills rusted. Well, now we are all in those managerial roles...

  • What do you think would be the effect on people that already have the skills and abilities. The LLM would build these systems using the skills that are largely understood by the programmer but piece them in new ways suitable for the system. This could lead to new enmergent behaviors that are not understood by the programmer.

    I still think that you can build this model in your head even with LLM's but I'm not sure neither one way or the other.

  • Perhaps typing the code by hand means you are more deliberate and less likely to have the LLM produce thousands of lines of diarrhea.
  • In a way it's not so different from learning in school. There were definitely times I read a textbook for a programming or other CS course and reused some example code or whatever to solve homework problems.

    I think the helpful part is taking something that already exists, learning how it works, and rewriting it yourself to internalize it.

    Again as usual the more important thing is that you know what you're using otherwise it's just copying.

  • Its weird how absolutely desperate we are to avoid humans actually using their brains at any step of the coding process. I don't know if we just need to tell people that its fine to need to think about things, and that its actively healthy to do so. Learning is good for you, and no chatgpt isn't good enough to avoid using your meat

    If you don't engage your brain, it'll rot. That's far more important in the long term than a 5% productivity boost or something. I have no idea why you'd trade off your entire technical development and skillset training, for the most short term gains, it doesn't even theoretically make sense if you care about long term productivity

    by 20k
  • So we are reduced to code monkeys mindlessly re-typing what an LLM wrote to increase potential understanding...

    Whatever this approaches, it is not a state of software engineering I find desirable.

  • heaven forbid we use our meat to actually completely understand it in the first place
    by 20k