Imagine this: a button that, when pressed, produces 500 lines of working, mostly dumb code in, say, a minute.
You get to choose. 500 lines of JavaScript, or Python, or Go, or Ruby. 500 lines of a script that processes some files and turns them from before into after. 500 lines of a web application that lets you view and manipulate data. 500 lines that make it easier to work with four other tools you previously had to manually invoke. 500 lines of tests and test helpers. 500 lines of working, helpful, time saving, but not that smart code.
I think we have that button now. It’s called coding agents.
Yes, agents might not be great at everything great engineers are great at. You can’t drop them in the v8 codebase and tell them to fix branch prediction misses in the JIT compiler. But ask them to build a little web app that lets you browse through the 232 crash dumps you collected to analyze a memory leak? They’ll do it. 90% of the time on first try.
It might not turn out to be the greatest code of all time. But it works and all you had to do was type a prompt, hit that button, and wait a minute or two.
I think there’s an opportunity lost in the many (loud, confident) comparisons between agents and humans in which the agent loses because “it can’t do what I do, it can’t write the code I write”.
An agent doesn’t have to be able to write code like a human to be useful.
Here’s how I think about it. Code has always been precious — hard, expensive and time-consuming to write. Consider how much of software development and developer tooling in the last thirty years was about reducing the need to write code.
But now we have these tools, these agents, that can produce mostly working, but maybe not super smart code, yet mostly on first try: what can we do with that? What can we do with that button? There has to be something, right? Yes, even if maybe (and that’s a maybe on shaky foundations) it can’t write code like you can.
If code up until this year has been bolts and screws, with agents, with this button that produces 500 lines of code, we now have glue. What can we build with glue?
Glue is useful, even if you won’t use it in the same place you would use a screw or a bolt.
So instead of asking: can it write the code that I would write? I think it’s more useful to wonder: what can we do with this new kind of code?