I ship more code than I ever have, and I barely type any of it.
I've been writing code for about ten years. It was never the job. It was a tool. Internal tooling, the occasional production system, whatever supported the business I was running at the time. I'm an operator and an entrepreneur before anything else. Code got me to a product I needed, or one I thought other people might need. I never treated it as a craft I had to protect.
At the end of 2024 I sold the last business and went all in on building. New SaaS, mobile apps, marketing automations, the property site. I expected to ship more code than any year before it, and I did. What I didn't predict was how little of that code would come from my own keyboard.
I direct the code, I review it, and I reject the bits that took a clever turn I didn't ask for. I almost never sit down and type a function out from scratch. I keep meaning to write about this, mostly because I'm completely fine with it, and because I'm shipping more than I ever did when I was the one moving the keys.
This is a personal post. If you want a tutorial on prompting or a stack list, there are better posts. I want to describe what the day-to-day looks like for a founder who never wanted to be a full engineer in the first place.
How the job compressed
The plan was always to orchestrate. I'd spent the previous decade writing enough code to know what good output looks like, and that was the point. I wanted to be the operator who can tell when an agent's diff is right and when it's wrong in a way that's easy to miss.
For the first stretch of the year I was still the bottleneck, even with that plan. The dashboard, the iOS app, the property site, the marketing automations: every codebase was waiting on me to write the next thing or review it. I hadn't pushed the agents into the engineer role yet. They were still autocomplete to me.
That changed with one small operational decision. I started treating the agents as engineers. Instead of "Claude, help me write this function," it became "Claude, here is the ticket, here is the context, ship it and I'll review the diff." Once that clicked, my role compressed into deciding what to build, supplying context, and reviewing what came back. That's the whole job now.
Inside the new job
A typical day looks closer to a CTO's calendar than an engineer's. I read incident reports and argue with agents about architecture trade-offs. I read pull request diffs and reject the ones that took a clever turn I didn't ask for. I write tickets that read more like product briefs than implementation tasks. I check in on cron-driven agents that have been working overnight while I slept and decide what to ship from what they produced.
When I do open an editor it's usually to fix a one-line config, or to make a precise change the agent kept getting wrong. The Pareto distribution has flipped: 90% of the typing is theirs, 10% is mine. The cognitive load went the other way. I'm doing more of the hard thinking and less of the typing.
What I'm worried about
Two things.
I'm getting worse at the thing I used to be good at. If I had to sit down today and write a non-trivial system from scratch (no model, no scaffolding, just me and a blank file) I'd be slower than I was three years ago. The muscle is atrophying. I'm not sure if that's a problem yet.
The other worry is for people starting their engineering career now. The model can produce a working app from a paragraph. The instincts I'm leaning on came from years of writing code the slow way, even when it wasn't the headline job. Knowing when a diff smells wrong, or when an abstraction is hiding the real problem: that came from doing the slow work badly, many times, until it stopped being slow. If you skip the slow way entirely, what do you lean on?
I don't have a clean answer to either. I'm noticing them and watching.
What I'd tell a younger version of me
Stop optimising your typing speed and your IDE shortcuts, and stop reading books about clean code structure as if the structure is the thing.
The useful work has moved upstream: deciding what to build, writing the brief well enough that an agent can run with it, and reading a diff closely enough to see what's wrong with it instead of being charmed by how much got produced. Those are the muscles to build. Typing is becoming a commodity.
Eighteen months ago I'd have nodded at this. Walking out of the last business, I wanted breadth across multiple products. Depth at the keyboard was never the goal. I just didn't know how far upstream the work would move once the agents started shipping things I'd merge.
The job has changed underneath you. The operator who learned to direct AI ended up further ahead than the engineer who learned to use it.
So: I don't really write code anymore, and I'm shipping more than I ever have. Both are true at once, and I'm still working out what that means for the rest of this chapter.