I don’t write code anymore and I am not missing it.
Not a function. Not a bug fix. Not a feature. From this blog to complex and ambitious work at enum, things that should never break.
And I love it.
I’ve been writing code for almost two decades. I was the kid running Linux and trying to create plugins for my Minecraft community. I remember the happiness I felt when things worked after hours of tinkering.
Since then I worked on many projects, from simple websites as a teenager to highly scalable distributed systems at enum and Wunder Software. I optimized my whole workflow around coding. I use a split keyboard, I code in nvim and I touched a lot of programming languages. I love to create things and tinker around.
It turns out I was wrong about which part I actually liked.
The most fun was never in typing. The fun was in the deciding part of coding. What should this system do. How should it behave when things go wrong. What’s the right abstraction. Where does the complexity live. What is a solution for our problem.
After many years into coding I found out that writing the code was the toll I paid to get those decisions into reality. Most of it was muscle memory: the same patterns, the same imports, the same retry loops, the same null checks, the same boilerplate I’d typed ten thousand times. The interesting part was over within seconds of opening the editor. The next six hours were translation.
I architect. I review. I push back. I argue. I read diffs carefully and reject the ones that solve the wrong problem. I write specifications and I watch multiple agents implement them. I notice when an agent has a pattern that doesn’t fit. I notice when test coverage is fake. I think about what should be a primitive and what should be composed.
This is the work. The work was always this. The typing was overhead.
... continue reading