I engineer software for a living. Well - for a living, amongst other reasons.
I’m passionate about good software. Making something beautiful and performant. Making something that I would enjoy using myself. Using it. Improving it. Discussing it.
For the majority of my career that implied writing code. Trawling through documentation, learning how to express what one wanted to happen in the specific verbiage of the chosen technology. Optimizing for output - learning vim motions, experimenting with alternative keyboard layouts. Wild workflows and peripherals alike.
Optimizing the velocity of input meant being able to get through this part faster. Being able to get to the fun, interesting parts quicker. These interesting parts are, for me, located on either side of the typing. It’s the debugging and problem-solving - the wonderful puzzle of how to get the considered system to do a different thing, or a new thing. And of course the satisfaction of releasing the result into the wild, where it may solve a problem at scale and make someone’s day better.
I don’t think I ever particularly enjoyed the part that involved typing out the code. For better or for worse, in 2026 it appears to me that this part is optional.
Instead of typing out the code by hand, I now use the following workflow:
- debug/solve the problem in my head
- figure out the medium-detail caveats of integrating the solution
- write out a detailed1 spec
- hand it off to an LLM agent
- completely ignore it2
- review the result
- scrap it/polish it/use it as-is
Up until recently I made minor code changes by hand, believing using an agent would slow me down. In recent experience, however, it slows me down less if I hand it over. Staying at a full-system level of detail is an expensive and precarious mental state. Getting into enough file-level detail to change a few lines of code here and there seems to invoke some sort of mental load-shedding.
It is akin to losing “flow”. Except the “flow” I need most days is the kind of flow a tech lead, CTO or technical manager would operate with, rather than the kind normally associated with individual contributors.
For a long while, the agents were only good enough for file-level changes. Increasingly they seem to be capable of executing medium-complexity changes entirely unattended. Thus my role - as an individual contributor - shifts ever further from typing code fast. At this point, it seems to be more along the lines of thinking fast. Specifying fast. Recognizing bad code fast, and deciding whether to improve it or scrap it - also fast.
Note that I am not advocating for fully unattended agentic workflows. I give everything I release plenty of attention. I simply pay no attention at all during the boring part. My attention is finite, thus expensive. Not steering six instances of Claude Code, on average, helps me solve more problems correctly during a workday than finely steering one or two. I would never, however, release code I didn’t review, understand, and deem good.
I recently had the pleasure of bouncing this idea off of other engineers. Ones I deeply respect as both humans and SWEs. They had similar experiences: they still enjoy their jobs. Perhaps they enjoy them more than ever before. But when it comes to typing out the code by hand… it seems somewhat akin to writing longhand. A good skill to have, one that certainly trains the brain to work in a specific way. I don’t think anyone argues we’d be capable of steering agents correctly and reviewing confidently if we didn’t know how to “code longhand”.
It is, however - much like writing longhand - a skill that’s becoming delightfully archaic. A muscle worth stretching every once in a while, to keep it limber. Not the default mode of operation. In fact, some have reported their brains balking at the idea of “coding longhand” when the magic button of an agentic workflow is right there, pleasantly glowing.
I don’t know whether this is a sign of our skillsets evolving, of our brains finding themselves more at ease in the problem-solving/code-reviewing loop. Or whether it’s a sign of a skill atrophying.
All I know is that I don’t like writing code very much.