Programming As A Hobby In The Age Of AI
For the last quarter century, I've experienced the "hobby of programming" as the gift of a four-way win. Meaning that practicing the art of programming created harmony across four major aspects of my life: work, home, community, and self. This has been nothing less than miraculous with regard to my quality of life. But this window of unfettered joy is closing in the age of AI (specifically with agentic programming). And it's been difficult for me to reorient myself to this new reality.
I don't want hand-coding to go away because I enjoy it. I love the problem solving of it. I love looking at code and seeing its shape and the way it reads and the way it plays nicely — or rudely — with a broader architecture. I love to try new syntax styles to see how they make me feel. I love to try something "too clever"; and then I love to spend the next 3 days hating myself for being too clever before I refactor back to something more "obvious". I love to feel the pain of a poor choice for days or months or years before I finally — finally — figure out how to salve that pain with a new strategy or pattern.
I love every aspect of coding. None of it feels like "grunt work" to me because every line of code that needs to be written is a choice; and every line of code that gets written is a lesson to be learned — an investment in my future understanding of how applications fit together.
And as much joy as this "hobby" has brought me personally, it's also been a huge win professional because there is — or, at least, there has been — so much direct transference to my daily work. All the little experiments that I did would eventually pay back dividends. Sometimes immediately. Sometimes in a few years. But never did any of it ever feel wasteful.
This is no longer true. In a world where AI generates the code, my syntax explorations simply don't matter. My digging into the edge cases of a language or a framework have become irrelevant. My desire to develop "taste" around code methodologies and organizational strategies has become vestigial.
At least it has professionally.
But not personally. In terms of exercising my brain and giving myself a moment of zen and a source of joy, coding is still a high-value activity. Just in a much narrower sense. Coding is no longer the four-way win that it once was — it's now become my version of gardening. Or of meditating. Or of doing the crossword puzzle. Or of painting. It is a self-care luxury that I can indulge when I have some free time.
Which is not to say that I won't use agentic programming within my hobbyist endeavors — it's only that I'll use such techniques in a capacity that still brings me joy. It's my hobby and I get to make the rules.
And who knows, maybe there will still be some cross-over professionally. But it will be a happy accident now and not an expectation.
It's been challenging for me to arrive at this realization. For the past 8 months, I've wondered how I can still justify my hand-writing code. But now that it's my hobby, not my profession, I don't have to justify any of it to anyone but myself. And I'm hoping that this clarity will bring me a new type of joy.
Reader Comments
But what has now become your profession, I wonder?
I'll let you know when I figure it out 😜 I hope that I still get to build "things" for "people". That's ultimately what always made me the happiest at work. Solving their problems, seeing their days get easier. Hopefully more of that (but in what exact shape, I don't really know yet).
Excellent article. However, I still think that the process of developing, especially on the front end, is better served when the developer uses both technical expertise along with a curiosity to explore. The best interfaces aren't made on paper; they're made by exploring possibilities and refining the interface iteratively.
That said, when I was younger, I was an expert tournament chess player, and I never thought a computer could beat a master chess player. At that time, people debated whether chess was a science or an art. Those days are long over and computers have mastered us on the chess board. Maybe AI will also master us despite our intuition when developing, but I would like to think we can still create something better.
Take care,
Gregory
Im 57 and thinking of getting a commadore 64 to learn basic. I had one as a kid and had no clue what to do with it.
I also want to make a rig out of an 11inch tablet and mini keyboard to learn python and data mining using ai as a teacher.
That being said, what are some fun things to do that are coding/hacking related? I dont only want to learn coding, but I want to have fun as if I were gaming so to speak.
I've been in the programming as hobby since the apple II. I agree the finding your way through a problem is rewarding and entertaining. But then life happened and found myself in a rut I couldn't get out of. My speciality was build systems and development tool chains, programming is hard! So I became proficient in getting the code to compile for any anything, hand me code and give me a architecture target and I can get you a binary for that target. Often only needing to know enough programming to make the necessary changes or fixes to get code up to date and running on a newer compiler. I never fulfilled my childhood dream of being das uber hacker, so AI has actually been good for me there, and often I know what needs what where and can just vaguely point and mumble coherently enough that AI can fix the bug for me. Currently working on a little AI controlled spider bot, when it is done I plan to release the code open source. That's something I couldn't do without another 30 years of learning programming. AI isn't all bad I suppose.
@Gregory,
Chess is actually a perfect parallel. Just because we have computers that can beat us at chess, it's still a wildly popular game (maybe more so now than ever). That's how I see "coding". It's a personal challenge, now - even if there are ways that the computers can do it faster, I'm still keen to learn it better for myself and my own edification.
As far as UX (user experience) is concerned, this is a fun one to consider because UX is sooo personal. For example, on LinkedIn, even to this day, you can't submit a comment with the common
CMD+Enterkeyboard command .... which is absolutely bonkers in my mind. But, presumably (one would hope) there's a good reason for them to exclude that. So this is where human taste comes to bear - maybe a machine wouldn't wire something like that in by default; but we complex humans can help steer the machines in the right direction.@Ricky,
That's one of the exciting things about AI - the ability to onboard much quicker into new topics. As far as what to do, I'm the wrong person to ask - I'm probably one of the more boring people you'll meet 😜 But I know that a lot of people have loved using the Raspberry Pi computer boards. It blends the physical world with the digital world. Plus, I think people will then plug their Pi's into their network to have it do fun things.
re: Basic, you can almost certainly get an emulator for it. There's probably even website that will let you just run Basic - no need to get an old computer to have a little fun.
@Ben B.,
I don't mean to denigrate AI at all. It's powerful stuff and is helping me get things done. Even in places where I still want to hand-code, I'm using AI to help me consider workflows and alternatives. And then sometimes I hand-code the suggestions; and sometimes I just let it rip.
Right now, I'm building a small AWS Lambda Function for syntax highlighting. And it's essentially all AI built (using existing npm packages, and then wiring it all together). Like you're saying, there's nothing in there that I probably couldn't figure out - but the barrier to entry would be a lot more effort than I would ever put into it. So, in cases like that, AI is letting me do some things that I otherwise wouldn't try.
Just as you have, Ben, I've been coding for many decades too. I've coded the same basic components and endless UIs for new projects over and over and over. Sure it's slightly different each time and there are always interesting twists and challenges, but now with agentic coding it highlights how much of it was pure grunt work. Sorry to disagree. I love the intricacies of your blogs and how deeply you investigate sometimes quite obscure issues, I get that and enjoy that nerdiness too, it's fun and fascinating, but it's very time consuming.
With AI doing the grunt work today, I can focus much more on what I want the product to be, getting in all of the best features no matter how complicated they are, making the UI look effortless for users, and creating a jacked app. Not just that but it's completed in a fraction of the time, so I can move on to another new project and get yet another dopamine hit from doing the planning, designing and orchestration, then seeing it come to life. Job done! Then move on quickly to something different, another challenge! It gets addictive - but no external substances are involved! :-D There's no good reason why projects that previously went on for 6 months should continue to take that long now they can be completed in weeks or a couple of months tops.
Some people vibe code without ever reading or understanding the code, but I like to design the architecture with the AI and give it as much guidance as it gives me.
The coolest thing is being able to build products that were previously outside of my comfort zone. e.g. I needed to build Windows apps in C# which I've never learnt before, so I learnt by studying the code AI generated each time and asking dozens of questions. (I really like C# now.) A particular app needed to record audio so the AI suggested I used WASAPI because Stereo Mix has issues and I learnt how to implement that. I needed to do vision object detection and AI shortlisted libs that met my requirements and we integrated that within an hour. I'm having the best time ever learning about functionality that I never imagined I'd have time to discover, understand, implement and debug successfully.
Do we have to master everything that we do? No, absolutely not. Do we have to understand everything that we do? Yes, it does help enormously to obtain at least a basic level of understanding so we can explain with confidence to a customer, employer or a junior exactly how it works without looking stupid. 😁 I've learnt so much in the last 5 years through working with AI, far more than I could have ever imagined. I just hope that younger coders take the trouble to learn at least one programming language very well and not totally vibe code.
That said, apps like Grok Bot are actively encouraging people to vibe apps without ever revealing the code. Maybe that will be the future, so even an 80 year old grandmother can wish her ideal app into existence. One day even apps won't exist because whatever you want to achieve will be coded and completed by your AI the very second you've spoken your request.
Apologies for this long comment. As I haven't commented here for ages perhaps you'll forgive me.
@Gary,
No need apologize for liking to use AI to jam out products in your hobby time. That's exactly why I'm considering this "hobby" time - you can do with it whatever you want. From a hobby standpoint, I just don't really have a desire to build out a lot of different properties. I don't have much need in my life for things to maintain 😜 I like to have fewer, more curated stuff. But 100% to each their own.
The idea of maintaining stuff is actually a good litmus test for me. I think there are things that I might have built for the sake of building it. But, once the idea that I might be able to generate it quickly, I find myself losing interesting in it in the first place. So if anything, I'm using AI in my hobby arena to more finely get in touch with my base desires.
I'm certainly not here to yuck anyone's yumm - I think in our spare time, we should all use AI as much or as little as we want. Without feeling guilty either way.
Post A Comment — ❤️ I'd Love To Hear From You! ❤️
Post a Comment →