The Giddy Nothingness of Automatic Creation
If we build things to feel a sense of purpose, what happens when AI does all of the work?
I had a quarter-life crisis during my freshman fall in college. Maybe it doesn’t matter, but the catalyst was a problem set I couldn’t figure out for my multivariable calculus class. Somehow those feelings of frustration and inadequacy triggered a full-blown and frankly out-of-character panic attack about my limited capabilities, my mortality, and our purpose as human beings. What was the point of all of this intellectual labor? What was it for? Why does any of it matter?
I know, I know… classic privileged late adolescent hand-wringing. But the nihilism was frightening for me, and it took me months – maybe years – to get past it as a daily distraction, an insidious background radiation in my inner emotional universe.
My coping mechanism for these nihilistic feelings ended up being a relatively healthy one: the act of creation. Nothing could have been more uniquely human, and, at least when it came to software and (debatably) music, I was actually okay at it. Something that many people don’t understand is that software engineering is a craft more than a science – emotionally more like woodworking than mathematics – and that it’s immensely satisfying from that creative standpoint. At its best, that feeling is a true euphoria: grounded and real, deep and satisfying.
This creative coping mechanism led me to a rewarding stint as a software engineer at Google from 2003-2012, then further on to co-found, build, and ultimately sell a successful SaaS company. Add a wonderful family and a financial cushion, and the nihilism I struggled with in 1999 was cured! It had been bottled up, safely, as an old memory – I’d even become nostalgic about those uncertain times, with all of their peril and promise.
Still, along the way I’d also lost access to the euphoria of building: as I stumbled into the professional world of management and the personal world of middle-aged adulting, those joyous moments of creative fulfillment dwindled. Crafting software myself had once been a daily pleasure, but over time it waned to a weekly indulgence, then a monthly oddity, and finally to something that happened approximately never. It required dedicated, uninterrupted blocks of focus time, and that was in very short supply; I’d have to chase that euphoric feeling some other way.
Enter vibe-coding (… but don’t call it vibe-coding)
I read about AI coding assistants well before I tried them myself. The ones I used last year were certainly impressive: I could build low-quality prototypes in 30 minutes that would have previously taken me days. Everyone was talking about “vibe coding”: a way to build low-quality software with incredible speed, merely by describing its behavior – often vaguely – in plain English. Chatting with other friends and colleagues from the tech industry, we wondered if this meant the end of “throw-it-over-the-wall” outsourcing, or if entry level software jobs were threatened.
The state of the art has shifted significantly over the past few months. Anthropic, OpenAI, and now Google have released their latest frontier models, and let me join the chorus of other early adopters to proclaim, without hesitation, that these new models are not just for throwaway prototypes. I was once considered an elite-level software engineer and am an expert at building distributed systems. Today’s models are often better than me, and they’re certainly 100x faster and cheaper.
Euphoria and nihilism, all at once
Now it feels like I can build anything. Case in point: I had an idea last month for a new kind of information infrastructure company. In 2018, it would have taken me (1) a pitch deck; (2) trusting venture capitalists; (3) millions in seed funding; (4) a team of highly-trained engineers, data scientists, and maybe a designer; and (5) nearly a year of focused building to see if it could ever even work.
I sat down a few weeks ago to test out these ideas it in my spare time, relying heavily on Claude Code for 99% of the actual software. I spent about 10-20 hours per week iterating, pausing from time to time to give feedback to Claude, and occasionally telling it how and when it was going off track. Yesterday I finished the prototype. To date, I have spent about $200 on Claude Code and some Gemini API credits. I raised $0 of venture capital, had to recruit and hire zero people, and got it all assembled in well less than a tenth of the time it would have taken me with that seed-stage team of yesteryear. (PS: not the point of this essay, but it even seems to work!)
Vibe check: Euphoria is back! I’d literally never felt more productive. There was an afternoon in there when I was baking brownies, and then every 20 minutes or so I would wash my hands and dispatch the next rev of instructions to Claude Code, my laptop perched on the edge of the kitchen counter. What world is this, where one can create elaborate new software systems without even fully paying attention?
Vibe check correction: Nihilism is back, too. When I think harder about it… did I create something? Back when I was running a software company, I always made a point of giving the credit for any new launch or feature to the people actually doing the work, not to the leaders who managed them, and certainly not to myself. So, confronting reality, who did the real work here? I’m sure there was a chip or two in Anthropic’s datacenter that were running pretty hot, but me? My hands were covered in brownie batter.
If whatever I was doing on the kitchen counter is now called “software engineering,” then ordering food at a restaurant should be called “cooking.” As much as I marvel in this new and (dare I say) magical way of manifesting products and services from thin air, I question whether it is truly a creative process anymore. Inasmuch as we pursue craftsmanship as a goal unto itself, what’s the point for us humans when the machines are going to be better, faster, and cheaper than all of us?
And so that’s where I’m left at this point. I am relieved that I have managed to diversify my own sources of euphoria in life: my children, my wife, my cats, and a few hobbies will be there regardless of AGI. Phew. But when it comes to building software – and, if we look forward a few years, building pretty much anything at a computer – we will all be juggling the full-throttle euphoria of instant creation with the nihilistic realization that the credit and true satisfaction, increasingly, is not our own.



Very profound! I feel that beyond a handful of companies, the world has mostly become a level playing field to innovate. But because of it, the edge that was earlier so human (or super human) is now eroding. That’s a euphoria for so many folks who otherwise never had a chance but nihilism for folks who were earlier super humans!
Really appreciate you taking the time to write and share your feelings about this. You’ve put into words and helped me better understand my own vague feelings of “excitement and unease” that I’ve been struggling to articulate.
A few thoughts / questions for you:
1. Even before AI coding, software engineering was always getting more accessible over time. Applications used to have to be written in assembly without any APIs and the engineers had to solve for crazy CPU and memory constraints. Could assembly programmers argue that most engineers building SaaS apps today are less real software engineers? Could the engineers who built k8s or Node argue that most people building Node apps and deploying them on k8s are less real software engineers? And is AI coding just another (albeit large) step in the same direction of greater abstraction and accessibility in software engineering, or is it something fundamentally different?
2. I’ve felt existential dread my entire PM career, questioning what my contribution is when I don’t write the code and I don’t sell the product. Really thinking about this has always made me really uncomfortable so I often just avoid it. The value I add is non-zero but very hard to tangibly pin down. I wonder if you are going through something similar as what counts as “engineering skill” is shifting from tangible like crafting code or thinking through design to something more vague like prompting an AI coding tool, which still takes a lot of skill, but exactly what that skill is is harder to pin down concretely.
3. I sometimes feel insecure working with talented engineers and being a degree removed from developing the technology. I’ve felt the most grounded and secure when I was close to the code, reading it, contributing to it, understanding the concepts, etc. I’ve been spending a lot of time building stuff in Claude Code and loving how it makes me feel. It’s rapidly become my number one hobby in terms of time spent.
4. The economy still values craftsmanship. We pay for handmade goods and we support small businesses even if machines and big corporations make things cheaper, faster, and better.
5. Even if the economy stops valuing craftsmanship for software engineering (and I’d argue that it might never have, witness all the shitty software out there that businesses still pay millions for), there will still be a reason to do it, it just won’t be an economic reason. I love driving manual transmission cars without traction control. A modern automatic transmission can shift much faster than I ever could, and perfectly every time. Modern traction control systems would make me both much faster and safer around a track. But I don’t care, because the point was never to be faster, it was to be involved and engaged in the experience. If you enjoy the craft of software engineering, does there need to be any more of a reason to practice it? And can you see yourself doing both AI coding (for the excitement and economic value) and non-AI coding (for the pleasure of craftsmanship)?