We were assigned The Mythical Man Month in college. Up until then, I knew I wanted to write code, but I couldn't really tell you why. I read that paragraph, and suddenly I knew.
Programming was how I could express myself. I wasn't an artist. When I sing, dogs howl. I didn't connect particularly well with people. And yet, when I wrote my first program, I discovered a medium which let me convert thought into action. All the ideas that were bottled up behind a wall of frustration suddenly had an outlet. And Brooks' explanation told me why.
I've probably written code just about every day for the last 50 years. And, to my continued surprise, I still love doing it.
It's not the editing, or the tooling, or the language. The thrill comes from planning something in the abstract and seeing it slowly become real. Then there's the joy of seeing people use it; it just feels good to be able to contribute.
So when I started seeing what LLMs could do, my heart sank. Were they going to take away the joy I found in programming? Would they have all the fun, leaving me to debug things when they messed up?
It's Still Programming
I was expecting to hate using Claude. I just knew it would dehumanize the process, draining away all the fun stuff, turning what was once creative into a mechanical slog.
I was wrong. Coding with AI is fun. In fact, to me it feels like I'm having more fun than I have had in a while. So I took some notes over the last month to work out why. In no particular order:
- AI takes away the boring drudgery. Got an abandoned project from 6 years ago that no longer builds? Hey Claude, bring this up to date with modern tooling and updated libraries, and make sure the tests all pass. Five minutes later I'm playing with code that I'd assumed would never run again.
- AI shortens the feedback loop: dramatically. If I want to try an idea, I can iterate with an AI in minutes. If it doesn't pan out, I can throw it away with no regrets.
- AI broadens my reach. Back when I started, you could know something about just about everything in software. Now, the topics are so deep, and they change so fast, that it's difficult to be an expert in even one.
But with my AI, I can explore areas that would otherwise take me a week to break into. I can work out if there's something there for me, and then drop back to a lower level and learn the basics.
- AI is the ultimate rubber duck. I've dialed back Claude's enthusiasm for explaining everything. Instead, I can bounce ideas and problems off it. Often it comes back with something that triggers a brand new direction.
Programmers are the layer who impose structure on messy reality. Often we do that with code. Sometimes we do it by changing the way people think about what they're doing. And sometimes we end up changing reality to be just a little less messy.
And it doesn't matter what tools we use to do that; Rust vs Go, React vs Vue, AI vs hand coding. In the end, it's all just programming.
Have fun...