Why write code in 2026 (softwaredoug.com)

• mrweasel 2 hours 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 2 hours 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.

• dehrmann 19 minutes ago

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

I suspect that despite its translation abilities, this is true, but I'd like to see it do things in languages that are more or less appropriate for tasks to see how much the training corpus matters vs. its ability to translate. Assembly is a bit of an extreme example because you're either writing it as close to C as possible (C is essentially portable assembly) or you're writing complex, unreviewable code that happens to work. And who know if it's been trained on register allocation, or resorts to doing everything on the stack because it works.

• cactusplant7374 an hour ago

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

• Zambyte 13 minutes ago

By "research project" you you mean by people who understand assembly? Because then we're back to where we started.

• deadbabe an hour 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.

• ryandvm 28 minutes ago

This gives "let's close the patent office"

• devin an hour ago

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

• deadbabe 4 minutes ago

What are you gonna make? Yet another CRUD app? An API subscription? A game? A mobile app?

We’ve created software for virtually every place we can put software. There’s nothing new.

It’s like bridges. We’ve seen all the ways bridges can be built by now. There’s nothing new left to discover.

• nektro an hour ago

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

• lp4v4n an hour 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.

• softwaredoug an hour 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.

• rawling 4 minutes ago

Sure, read the English description.

How can you be sure that's what the code the LLM wrote actually does?

• softwaredoug a few seconds ago

You create a lot of validation and guardrails.

• BerislavLopac 31 minutes ago

> but no, they don't trust the LLM that much

Yet...

• dana321 2 hours 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.

• jv22222 3 minutes ago

At this point I haven't looked at code for many months. Before that, I spent 4 years hand coding a Google Docs competitor in JS without any libraries.

My brain feels equally as exercised (in fact more so as I am not as good at agentic coding as I was at real coding)

But now I'm making highly polished Mac OS apps and I really like that move from JS.

I feel... conflicted.

• supermdguy an hour 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.

• softwaredoug 5 minutes ago

My other article on this topic advocates for using code over specs :)

It’s ok to talk to the agent in code. Or create examples for it to follow.

https://softwaredoug.com/blog/2026/07/04/write-code-not-spec...

• teddyh 12 minutes ago
• avaer 2 hours 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 2 hours 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 2 hours 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 2 hours 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 2 hours 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 2 hours 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 careful, 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

• pjmlp 2 hours 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.

• fernandotakai 3 hours ago

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

• ivanjermakov 2 hours 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 2 hours 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 2 hours 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 an hour 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.

• minimaxir 2 hours 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 2 hours 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)

• andai an hour 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!

• podgietaru an hour 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 an hour 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.

• TrackerFF an hour 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 an hour 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.

• throwatdem12311 an hour 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.

• majorbugger 2 hours 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 2 hours 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 2 hours 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 an hour ago

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

• deadbabe an hour 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

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 2 hours 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.

• slopinthebag 2 hours 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.

• rdksu an hour ago

exactly how many times do you plan on posting this here

• softwaredoug an hour ago

I’m as confused as you.