Hand Crafted

Despite what many may think given my background, I’ve never been much of a coder.

I learned BASIC in 5th grade for all that’s worth. Since then it’s been a meandering path through C and C++, Perl, Scheme, Java, PHP, SQL, Python, JavaScript, and Rust—if you don’t count things like Bash. True to form, I dabbled in all of these when it was necessary to complete a project, but never really seized on any of them. It was just something I did at the time.

The job of a DBA is manifold. It’s a haphazard combination of skill sets covering a wide gamut. Most of the time you’re a system administrator, but often a data analyst, sometimes a developer, and other times a system architect. I’ve lost track of the many hats I’ve worn over the years working with databases, and writing code was probably the least of them. The longest time I spent writing code was back in my PHP days when I worked at TownNews from 1999 to 2005.

Despite not being a “coder”, I’m actually pretty good at it. I won’t be humble this time. I have a CS degree and all that entails. I know how computers work all the way down to the transistor level. I know how operating systems allocate memory and why. I can thread and multi-process with the best of them. I know theory and practice, from algorithm to product pipeline. I’ve been doing it semi-professionally since 1997. But it was never really my “thing”.

To me, coding is a means to an end. Being notoriously impatient, writing code is the annoying part I had to do in order to coax what I really wanted out of a computer. Develop the initial specification. Lay out the skeleton and APIs. Code the interfaces and whip up a mean proof of concept. Add several tiers of test coverage. Revise, rework, refactor. Multiple rounds of debugging. Just… come on already! Do the thing, you rat bastard!

Well, we’re living in the age of AI now. I’ve found that, while I’ve published projects more regularly than ever, the amount of actual code I’ve personally written has nearly dropped to zero. Now I tell a tool like Claude Code or Pi what I want to accomplish and it handles the rest. Sometimes this is a long back-and-forth session where we collaborate on a specification and a checklist before the agent starts writing everything. But make no mistake, the tool writes 90%+ of everything.

Yes, sometimes the code is… less than ideal. I’ve forced Claude Opus to go back into some code and refactor based on my input numerous times. Maybe the code was trying to cover too many edge cases. Perhaps the level of complexity was needlessly high. One time, its solution unwound an API and had the caller invoke each step of what was supposed to be a black box. So I interrupted, redirected it, and let it continue once we were on the same page. It even writes half-decent user documentation.

And while it’s doing that, it writes all the tests. It invokes and debugs the binary. It stands up Docker images for end-to-end tests and edge-case inspections. It performs adversarial code reviews, builds graphs and charts, combs through hundreds of replies in mailing-list threads, whips up what-if variants of existing code—anything I can think of. In minutes rather than hours or even days. The sheer amount of documentation I would need to comb through before even starting can take hours. Meanwhile, Claude is already done.

Claude recently spent an hour verifying several split-brain scenarios in a respected Kubernetes operator for me, purely because I wanted to challenge some rumors. In that specific case, it ran ten exhaustive cluster tests involving three nodes and two different Kubernetes operators to compare behavior. It wrote a twenty page report on its findings, including reproduction conditions, which code path or parameter is causing issues, and potential workarounds. It provided scripts to reproduce the lab, system images, containers, and anything else I would need to corroborate its results. In an hour.

That kind of research would normally require a week at minimum. Claude can analyze an API, write code to augment it, test the edge cases, and commit the changes in the time it takes to brew a pot of coffee. I can’t compete with that. Nobody can. We’ve officially reached the point where I can shout “Just do the thing!” at a computer and it actually works.

When I was a kid, I used to religiously watch Star Trek: The Next Generation. The show frequently leveraged a plot convenience where one officer or another would vaguely instruct the computer to perform some task, and it would do so almost unerringly. Obviously this was simply day-to-day life 400 years in the future, so they never thought twice about it. That was just what computers were for by then. They did stuff for you.

We’re there now. Not 400 years from now, but today, right at this very minute. The technology is still in its relative infancy, but it’s improving almost exponentially now. Everyone from a hobbyist with a couple computers in his basement to startups or enterprises dedicated entirely to AI, is clambering over themselves to optimize models, produce new techniques or harnesses, or entirely rethinking what model servers are.

It’s the Wild West out there. We’re already at a point where I simply don’t have to code anymore unless I want to. Like I’m just feeling bored one day and want to string together some lines of code for old time’s sake. Eventually that will be its own industry. I can imagine the salesman now:

“Come one! Come all! Our company provides the finest hand-crafted boutique code! Our expert artisans painstakingly assemble programs using time-tested technique and precision for that personal touch you’ll never get from one of those Clankers! Good code takes time, and you’ll only get the best from Code Monkeys Inc. Yessir!”

Sadly, I won’t be among those industrious suppliers of bespoke nostalgia once AI supplants the remainder of that industry. I’m far too impatient and much too lazy. And given where we are now, the future is going to be absolutely ridiculous. All I have to say to that is:

“Computer? Do the thing!”

Until Tomorrow