Why write code in 2026

(softwaredoug.com)

43 points | by softwaredoug 2 days ago ago

41 comments

  • mrweasel an hour ago ago

    Apparently it's not obvious to everyone, but if you can't write code, you can't review it. I do know people, and companies, that says: "So what, we ask Claude to write the code, Codex will then do the review". The thing that then strikes me as odd is that they still ask for the code in Python, Java, or some other high level language.... Why? Just ask Claude to dump out assembly, or a compiled binary, but no, they don't trust the LLM that much. They still want to be able to read the code. So they need developers that can read, debug and reason about the code, yet they don't want to give them the training that's required to do this?

    • ryandvm an hour ago ago

      They don't have Claude write assembly because there is no training corpus on people making CRUD apps in assembly.

      I'm as hateful of LLMs hollowing out the job market as the next guy, but the reality is the frontier LLMs are really good at writing anything that's been done and documented on the Internet a million times and unfortunately most of what software devs have been doing the last couple decades is shitting out cookie cutter CRUD apps.

      I have my doubts about whether the state of the industry is going to advance as long as we're having LLMs do all the creation, but that's another diatribe.

      • lp4v4n 22 minutes ago ago

        >They don't have Claude write assembly because there is no training corpus on people making CRUD apps in assembly.

        I'm disputing this. You can have a training corpus in assembly as big as any other language: just feed the compiled result(in assembly) of the CRUD apps to the LLMs.

      • cactusplant7374 15 minutes ago ago

        It's still possible to make CRUD apps in assembly with an AI agent but it would be a research project.

      • deadbabe an hour ago ago

        What's there to advance to?

        Without a revolutionary new platform to build apps on that no one has ever developed for before, there is basically no reason to believe there is any software left that has some business or economic value that hasn't already been written.

        • devin 34 minutes ago ago

          If you think we're "done", you have no imagination.

        • nektro 20 minutes ago ago

          that you don't see this as inevitable worries me dearly

    • softwaredoug 17 minutes ago ago

      I’m finding it all boils down to cognitive differences.

      Some people find code easier to read than the English description. It’s more precise and many experienced devs can scan it and know what’s happening

      Many other people can’t read code. Or they find English easier to read than code.

      Thats not a knock on anyone. Maybe the latter will rule the world because the former focuses too much on irrelevant details. Or maybe me there are just different types of problems that need differing levels of attention to detail.

    • dana321 an hour ago ago

      I have a few personal projects, i let codex do all the code - i do the thinking and testing.

      One time, something didn't work as expected - its the first time it happened with this project. I read through the section of code and it was perfectly readable and well-written.

      Turned out a plugin wasn't effecting the audio, so i just got it to pad some blank audio onto the beginning before processing it, then remove it at the end of the process. That fixed the issue, there was nothing wrong with the code but my ability to think laterally is what made it work.

      We're getting to the stage where you can just ask them to write code and they will do what you want, and it writes good code. Its up to you to test everything beyond the internal tests it writes.

  • podgietaru 11 minutes ago ago

    I was thinking about an experience I had recently, and how it relates to my feelings about AI... And it bummed me out a lot.

    So I took over an open source project called Omnivore. It's a reading app in the vein of Pocket. The hosted version used pdf-lib to inject some functionality into the pdf viewer. Namely, highlighting, note taking, and storing location. pdf-lib is a licensed application, so when taking it to fully self-hosted this needed to change.

    I migrated it over to pdf.js. And I went through the entire process. I added all the functionality bit by bit. It didn't take exceptionally long, maybe 1-3 days. But that process was really satisfying. I found a bug, fixed it, and then found a stackoverflow issue where someone was also experiencing the same issue and suggested the fix. https://stackoverflow.com/questions/59151218/pdfjs-error-on-...

    I'm pretty sure an ai could have done all of this. And therein lies my fear and my upset with AI. Not only would it have robbed me of that experience, but it shows that I have in a way been devalued. Because I do think that took a level of skill. And now that's gone...

    • softwaredoug 8 minutes ago ago

      I think what we’re learning is that up front slower experience can be valuable for maintaining the maintainers own understanding of the project

      I’ll be very curious how / if the Bun port to Rust works out.

  • pjmlp an hour ago ago

    I write code all the time I can, outside the KPI metrics that everyone is being pushed to, I only care about AI for smarter code completion.

  • supermdguy 15 minutes ago ago

    “Do you know what the industry term for a project specification that is comprehensive and precise enough to generate a program?

    Code. It’s called code.”

    - CommitStrip (https://www.reddit.com/r/ProgrammerHumor/comments/1p70bk8/sp...)

    I think if you’re doing it right, the core of your code should be the simplest expression of the underlying business logic. Of course there’s always going to be supporting layers, and maybe those don’t need to be reviewed. But if you haven’t read the code, there’s an extent to which you don’t know the business logic.

  • avaer 2 hours ago ago

    > For example, have you ever seen an agent follow the boy scout rule? Where they leave code better than they found it? And would you WANT them to try to do this?

    Yes, it's in the rules; run profiles, check code coverage, do a critical review, post the report and follow up tasks. 90% of people I've worked with did not follow these boy scout rules nearly as well as today's frontier LLMs.

    Is the author implying this is bad?

    • softwaredoug an hour ago ago

      That quote is the lead in to an example I talk about after this quote illustrates what I often see.

      > Agents bias to making the current change as safely as possible. I had a situation in a previous codebase where one morning, pre-caffeinated, my meat brain mentioned using browser local storage. So some random state was managed in local storage. Everything else through a backend database. When I looked at the code, the amount of wrapping and indirection to preserve this idiotic human mistake probably tripled the LoC. Agents can amplify our one-off bad decisions by being so conservative.

      You can of course solve this many ways. And many of boils down to just how a particular humans brain works. Some will solve this by not reading code. Some will read / write code.

      Whatever works for you is great. But many there is upside to the precision of not having code intermediated through the LLM for many.

      • avaer an hour ago ago

        Right, but this just seems like underspecification. In my experience as both a team leader and an "agentic engineer" (ugh), I try to blame myself for the lack of clarity of my asks, rather than the person/agent for making the "wrong" choice.

        I'm sure plenty of meat humans out there would make the same mistake (sorry, you said to use local storage boss!). You might give them a scolding. And maybe document that policy. Maybe in a markdown file for the next person. IME the latest models are significantly better than the median engineer at following this feedback.

        I don't think it's fruitful to blame the LLM any more than it is to blame someone working under you.

        In fact I would say this is an excellent example of how engineering does NOT fundamentally change in the era of AI.

        • softwaredoug an hour ago ago

          Yes but I always have to be on the lookout for this meta pattern that leads to code bloat.

          In this case things mostly sorta worked and the simplest way to see the problem was look at the code. And try to take it apart a bit to see where the problem was.

          I felt I arrived at a better pattern I could trust that the agent could use much more efficiently this way than asking the agent to do it. I could then test that the pattern was being adhered to and therefore better trust the agent not to go off the rails.

          I personally internalized the details a lot better by doing this writing. I wouldn’t have internalized it - or more likely played whack-a-mole - by guiding an agent.

          How do I arrive at the patterns to check for without exploring the code? And capturing a real failure case?

          • avaer an hour ago ago

            > Yes but I always have to be on the lookout for this meta pattern that leads to code bloat.

            You don't!

            Have you tried adding rules/automations that make it explicit to review and fix the code for bloat (per your taste, with examples if needed)?

            With this setup + a good frontier model you will never have to be on the lookout for code bloat. You can even get the agent to send you text message with the LOC-- if it makes you feel better.

            I think I understand where you're coming from, that it's hard to "let go" (I've been coding for 30 years and it was hard for me). That's why I'm recommending to have agents write verifiable quantified reports of the things you care about, so you can build up some trust in the agent's work and you don't have to do things by faith.

            • softwaredoug an hour ago ago

              How do you arrive at a failure case to measure without looking at the code?

              How do you establish sane patterns when you’re in an exploratory /architectural mode? You could do this in English, sure, but many of us do this more efficiently and precisely in code in a way that lets us be efficient, internalize details, and add measurement + QA to ensure it’s adhered to by agents or humans.

              I’m not saying to write all the code. I’m saying it’s useful to write 5% of it. Then let an Agent stamp out / rewrite the rest

  • throwatdem12311 8 minutes ago ago

    If you’re not writing code it won’t be long until you get to a point where your agent won’t be able to dig you out of whatever hole you’ve dug for yourself and then you are fubar because you’ve just completely forgotten how.

  • andai 25 minutes ago ago

    >It’s our job to build the software factory - not just the software. Software engineers maintain the assembly line allowing anyone to prompt for a change and ship immediately.

    The job of the software engineer increasingly becomes to make himself unnecessary: to empower the nontechnical business users to do as much as reasonably possible, without his/her intervention.

    This has, of course, been the dream of computing, since its inception! And the true aim of every "high level" or "beginner friendly" (looking at you javascript!) language.

    But finally, now that the computer actually speaks English (and is beginning to stop making completely insane errors), it gradually becomes feasible.

    Freeing the masses from the tyranny of the nerds!

  • fernandotakai 2 hours ago ago

    i write code because i love it. it's something that makes me genuinely happy, so why would i give that up?

    • ivanjermakov an hour ago ago

      There is magic in telling computer do something and seeing it zap through it billions of times faster than by any other means.

    • jayknight an hour ago ago

      Exactly this. I got into this field because designing programs and writing code is enjoyable. I'm probably behind on using AI and need to get more up to speed, but I never want to stop coding by hand.

      • DaiPlusPlus an hour ago ago

        > I'm probably behind on using AI and need to get more up to speed

        Same.

        My difficulty is that for the past 8 years I've been working for (tiiiiny) SaaS business where I don't have anyone I can simply ask in-person "hey, can you show me how to 'do' all this newfangled AI agentic team coding?"; so my only direct-exposure is with the painful Copilot sidebar chat, which I now find myself allergic to.

        So let's see elsewhere: while searching online for some (reputable) "agentic coding courses" my results are for the same kind of people who used to run those dodgy coding-camps from 10 years ago. I'm having difficulty finding resources for practicing SWEs like myself wanting a continuing-professional-development course experience, not a get-rich-by-buying-my-course video library from a contemptable AI booster

        Even more surprisingly, my local major university (UW.edu) doesn't seem to offer any certificate courses for getting into agentic development either[1] despite offering courses on C++, Six Sigma, and actual ML/AI courses. It's maddening. I can't be the only one with this problem...

        [1] https://www.pce.uw.edu/search?type=certificate&programType=c...

        • XenophileJKO 34 minutes ago ago

          I don't understand this. A skill critical to software engineering is learning how to learn. Just download Claude Code (or open alternative) and try to make things.

          See how it fails or succeeds. Look at the supported features, try them out, think about how you might use them in your workflow.

          Before you know it, you'll be proficient.

          You have to learn how to self-teach.

  • TrackerFF 35 minutes ago ago

    If we look at the progress made from ChatGPT 3.5 (Nov 2022) and up to today...shoot, I'm really starting to wonder if we'll even be reviewing code in 4 years.

    And I'm not saying this as some sort of AI maximalist. If progress keeps up, I seriously doubt software engineering and development will, as we know it today, will be a thing in the next 5-10 years. Maybe humans will be left with designing the UI, but everything else will be abstracted away and AI will be doing all the actual work behind the scenes.

    • softwaredoug 32 minutes ago ago

      The thing is with a wish machine, you can one shot something very easily.

      But then you realize software is the accumulation of 1000s of wishes. And you want this but not that. Many little micro decisions of exactly what you want in every nook and cranny.

      In the current paradigm (LLMs) we still have to manage all this. But maybe in the future we have something impossible to imagine.

  • minimaxir an hour ago ago

    Note as some may be confused by the "1 hour ago" with comments older than that: this submission was rescued by dang when a previous discussion existed: https://news.ycombinator.com/item?id=48883341

    fwiw I think the rationale behind it is counterproductive because the only difference between a OP submitting their article link and someone else submitting their article link is internet points.

    • softwaredoug an hour ago ago

      I was fairly confused myself as the author :)

      This was actually my original submission last week. There was a front page submission last night from someone else (hence the comments). Then my old post got re-upped just now (1 hr ago)

  • majorbugger an hour ago ago

    Why is this even a legit question? I need to keep writing code to stay relevant, not to forget my craft, be able to review code... So many reasons. AI doesn't change a thing.

    • avaer an hour ago ago

      Before my time ppl mostly did things in asm, I bet the vast majority of people reading this have never touched assembly and will never have any reason to. This is quickly becoming true of most "code". AI has changed that.

      One way to "stay relevant" would be to admit that.

      • softwaredoug an hour ago ago

        Yet as a C developer for 15 years I frequently looked at asm and on occasion even wrote a little.

        And that is a far stronger abstraction than LLMs :)

      • majorbugger 36 minutes ago ago

        I have also never used punch cards, what does it prove?

      • deadbabe 33 minutes ago ago

        assembly is compiled deterministically so you don't really need to look at it, LLMs though can write a variety of things at random based on the prompt. It is not the same.

  • guyzana 2 days ago ago

    I found myself working mostly at the requirements and architecture level, but do not give up proper code-review, creating skills along the way that maintain conventions.

  • conqrr an hour ago ago

    All this debate around use LLM or not is tiring and just black and white thinking.

    Can I use agents to code a SWE project? yes, with nuances.

    Can I write code for a SWE project? yes, with nuances.

    Its more options now, I'll write code about projects I deeply care and will use llm at work where its shared slop and forced usage.

  • rdksu an hour ago ago

    exactly how many times do you plan on posting this here

  • slopinthebag 2 hours ago ago

    Seems like there’s broadly two ways to use LLMs for coding - either as a way to generate the same code you would have written but faster, or as an opaque program-generator where you have no idea what the code is doing. One of these methods results in roughly the same amount of understanding and the other one radically less.