DEV Community

Cover image for Somewhere, Coding Stopped Being Allowed to Be Fun
James Anderson
James Anderson

Posted on AI-assisted

Somewhere, Coding Stopped Being Allowed to Be Fun

Comments compare coding to cooking and running

Somewhere in the last couple of years, a strange feeling crept in, and I don't think I'm the only one who's felt it.

It's the sense that I'm not really supposed to enjoy this anymore. That admitting, out loud, in 2026, that I love programming — that I'll happily lose a Saturday to a problem a machine could solve in four seconds — is a little naive. Like I missed the memo. Like there's a version of me who's moved on, who only touches code when it's billable and optimal and defensible, and who looks at the part of me that still finds this fun with a kind of pity.

I couldn't quite name that pressure until I read a short post this week by Chris Kiehl, called "It's Still OK to Enjoy Programming." It's worth your five minutes. He says a simple thing that landed harder than it had any right to: it's OK to enjoy things, and doing so requires no economic justification.

That sentence unlocked something I'd been circling for a while, so I want to build on it — because I think the pressure he's describing is real, I think I understand where it came from, and I think it's quietly taken something from a lot of us that's worth taking back.

The doom stream doesn't argue with you. It soaks you.

Here's the thing about the "programming is over" narrative: it rarely wins by convincing you. It wins by repetition.

Open any developer feed right now and you'll find a steady drip of it. AI is going to replace you. The craft is dead. Why would anyone learn this now. The junior path is gone. It's all just prompting. Every scroll, another small dose. And none of it argues with you directly — it doesn't have to. It just soaks into you, a little at a time, until one day you sit down to build something for the pure pleasure of it and a quiet voice you didn't install asks: what's the point? A machine could do this faster. Why bother?

Kiehl put his finger on exactly this — that the more of the doom stream you consume, the more it infects you, and that it disappears the moment you disconnect. I think that's precisely right, and it rhymes with something I keep noticing about this era more broadly: we keep letting an ambient feed rewrite how we feel about things we used to love, not through any single convincing argument, but through sheer saturation. You don't decide the joy is gone. It just gets slowly crowded out by a mood you absorbed from a thousand posts you barely remember reading.

And underneath that mood is a premise so quiet you might never notice you swallowed it. It's worth dragging into the light, because once you see it, it loses most of its power.

The lie hiding inside the despair

The doom stream smuggles in one assumption, and it's this: that the value of doing something is its economic value.

That if a thing can be done more cheaply by a machine, then doing it yourself is pointless. That your joy in the doing is a kind of inefficiency — a sentimental attachment to a task that's been rightfully automated. That worth and worth money are the same thing.

Say it plainly and it's obviously false. But we almost never say it plainly, which is exactly why it works on us.

Because think about how absurd it is applied anywhere else. Nobody tells you your evening run is pointless because a car is faster. Nobody says you shouldn't cook dinner because restaurants exist and are better at it. Nobody looks at someone playing guitar badly in their bedroom and says, "You know Spotify has professionals, right? What's the economic case for this?" We'd find that insane. We understand, instinctively, that people do things because the doing is the point — that the value was never in the output, it was in the experience of making it, the small private satisfaction of having done a thing with your own hands and mind.

We understand that about everything except, apparently, the thing we spend most of our lives doing. Somewhere along the way we let the market convince us that this particular love — unlike running, cooking, music, gardening, painting, every other human thing — has to earn its keep. Has to be defensible. Has to show up on an invoice or it doesn't count.

It doesn't. It never did.

The best thing I built this year was worthless

I'll be concrete, because this isn't abstract for me.

The things I've built recently that I'm proudest of — that I think about, that made me feel most like myself — are almost all completely worthless by any economic measure. A tiny tool nobody but me will ever use. A problem I solved the slow, hard way on purpose, long after I knew the shortcut, just to feel it click. Things I could have prompted into existence in a fraction of the time, that I chose to struggle through by hand because the struggling was the entire reward.

Kiehl mentioned building a buggy Breakout clone with terrible collision detection, by hand, because he enjoys it — and noting that it doesn't bother him that an AI could one-shot it, "because that's not the point." I felt that in my chest. The point was never the Breakout clone. A perfect, instantly-generated Breakout clone would have given him nothing, because the thing he was actually after wasn't a game — it was the hours of being absorbed in a problem, the small victories, the specific texture of figuring something out yourself. The output was disposable. The experience was the whole thing.

That's the part the economic lens can't see, and never could. It measures the artifact and misses the aliveness. It looks at the bad Breakout clone and sees a worse version of something a machine makes better. It cannot see the person who was happy while making it, because happiness doesn't have a line item.

The quiet rebellion

So here's where I've landed, and it feels almost defiant to say it, which tells you how strange things have gotten.

The most radical thing you can do as a developer right now is not to resist AI, or out-hustle it, or have the correct take about it. It's to still find this beautiful. To sit down on a weekend and struggle, on purpose, with a problem a machine could solve in seconds — and to enjoy the struggle, precisely because no one asked you to and nothing depends on it. To build something gloriously useless. To learn a thing that will never once come up at work, just because understanding it is its own reward.

This isn't anti-AI. I use the tools; they're genuinely wonderful, and some of the fun I have now is because of them. It's not nostalgia, and it's not pretending the economics of our jobs haven't shifted — at work, where you're paid to produce value, they obviously have, and that's fine. That's work. Work was never the whole of it.

It's just a refusal to let the market price the one thing it was never entitled to: your wonder. Your right to do a hard thing badly, by hand, for no reason at all, and to love every minute of it.

It's still OK to love this

So if you've been feeling that quiet pressure — that you're somehow behind, or naive, or sentimental for still enjoying this — I want to say the thing Kiehl said to me, and pass it on:

It's still OK to love this. Not because it's useful. Not because it'll pay off. Not because you can justify it to anyone, including yourself. It's OK to love it for the same reason anyone loves anything — because the doing lights something up in you, and that was always, by itself, enough.

The doom stream disappears the second you close the tab and open the editor for no reason at all. Build the useless thing. Struggle with the solved problem. Lose the Saturday. None of it has to be worth money.

It just has to be worth doing — and only you get to decide that.


With real thanks to Chris Kiehl, whose post "It's Still OK to Enjoy Programming" is the reason this one exists — go read his, it's shorter and kinder than mine.

And a question I'd genuinely love answered in the comments: what's the most economically worthless thing you've built or learned recently, purely because you wanted to? I'll start — I spent a weekend reimplementing something that already exists, works better, and ships with my OS, entirely by hand, for no reason at all. Best time I've had in months.

Top comments (30)

Collapse
 
sizzlebop profile image
Jessica Doering •

I love this post, and I think it's something more developers need to hear.

I build a lot of things simply because I feel like making them. Some are genuinely useful, some are experiments, some are just because i want to see if I can do it. Half the fun is figuring things out along the way. I definitely don't have plans to monetize most things, or turn them into products, or even get anyone else to use them.

And I think that's something we lose sight of with all the conversations about productivity, efficiency, and AI. I use AI and enjoy it, but I don't think being able to generate something faster makes the experience of building it yourself any less valuable.

Your point about doing something simply because you enjoy doing it really resonated with me. Not everything we create needs to serve a purpose beyond making us happy, and sometimes teaching us something along the way.

Sometimes I just want to make something because it sounds fun. That's a good enough reason for me.

Collapse
 
james_anderson_h profile image
James Anderson •

Wanting to make something just because it sounds fun really is a complete reason, and it always was one. The range you describe is the healthy version of all this, too: some useful, some experiments, some just “can I pull this off?” — with the figuring-out being half the point. That’s a person the doom stream hasn’t managed to colonize yet.

And your take on AI is exactly the balance I was reaching for: generating something faster doesn’t make building it yourself any less valuable, because speed and the experience were never the same axis. One is about the output; the other is about what happens to you while you make it. AI competes on the first and can’t touch the second. Hold onto that instinct — it’s the right one. 🙏

Collapse
 
pengeszikra profile image
Peter Vivo •

Nobody tells you your evening run is pointless because a car is faster. Nobody says you shouldn't cook dinner because restaurants exist and are better at it. Nobody looks at someone playing guitar badly in their bedroom and says, "You know Spotify has professionals, right? What's the economic case for this?" We'd find that insane.

This is the part I’d highlight. You’re so right, because here in the world of endless progress, we tend to measure everything in money, usefulness, and the time spent on it. If we go back to ancient Rome, they didn’t even count time the way we do. They simply divided the day into 12 hours, from sunrise to sunset. In winter the hours were shorter, in summer longer. We weren’t so disconnected from nature back then, though admittedly that wasn’t exactly yesterday.

Now we live in a world where we sacrifice absolutely everything on the altar of technological progress. That’s exactly why |> is my favorite hobby horse—and thanks to AI, I could actually build it in a reasonable amount of time. It raises a question: is it still worth spending time on the programming languages we use every day? My answer is yes.

But I also have a program where I deliberately got things wrong, and I love it: Chuck Norris TODO list.

Collapse
 
james_anderson_h profile image
James Anderson •

The Roman hours are a beautiful thing to bring in here, and genuinely apt — hours that stretched in summer and shrank in winter, tied to the sun instead of a machine, meaning time bent to life rather than life bending to time. We flattened that into identical, countable, monetizable units, and in doing so we made it almost impossible to spend an hour on something that doesn’t “produce” — because every hour now has a price tag we didn’t used to see. Measuring everything in money, usefulness, and time-spent is exactly the altar you’re describing, and you’re right that we sacrifice nearly everything on it.

Which is why your favorite hobby-horse projects are the quiet refusal. And the detail I love most is the last one — a program where you deliberately got things wrong, and love it. That’s the whole essay in a single act. A program you made intentionally imperfect, purely because the making delighted you, is completely illegible to the economic lens — it produces nothing, optimizes nothing, justifies nothing — and it’s probably one of the truest things you’ve built, because the only reason it exists is joy. The market can’t even see that program. That’s what makes it yours. Thank you for this comment; the Roman hours and the deliberately-wrong program are two of the loveliest things anyone’s added.

Collapse
 
pengeszikra profile image
Peter Vivo •

it produces nothing, optimizes nothing, justifies nothing

That’s not entirely true. I feel a bit like Ace Ventura explaining the effect of the sliding glass door to the terrace. The program is pretty enigmatic and doesn’t spoon-feed you anything.

But in terms of usability, it’s a training exercise in using an input field with limited visibility. As soon as you start typing, the whole form starts floating around, immediately wrecking your sense of security and visibility. On top of that, a single input field lets you edit an entire TODO list however you like, in real time. The rule is that - means a new line. You have to discover that rule and let go of the expectation that you’ll always have clear visual feedback, like driving through heavy rain.

Meanwhile, I’m debugging the state in real time with a single <pre> tag, because this uses a reactive technique, as the continuously running counter also demonstrates. I wouldn’t call it a framework, since I’m using just one function called signal. So it’s a React alternative, and also an example of no-build development. I made it by writing an HTML file with the JavaScript inside, all by hand. Back then, I was practicing writing the Tailwind import and the entire HTML skeleton from memory.

So it’s also a rebellion against painfully cumbersome build systems and code formatting disciplined by linters. And the fact that I even minified the code by hand foreshadows one of the mordorproject’s strongest ways of hiding information from AI.

Ernest Hemingway expressed this in his iceberg theory: the writer knows the whole story, but only writes down the one-eighth above the water.

Thread Thread
 
james_anderson_h profile image
James Anderson •

The program you’re describing is the thesis made executable. A single input field where the whole form floats as you type, where - secretly means a new line, where you have to discover the rule and surrender your expectation of clear feedback — that’s not a usability failure, it’s a deliberate aesthetic choice that has zero economic justification and everything to do with how it feels to use. “Like driving through heavy rain” is a design intention, and no ledger on earth would ever approve it. That’s exactly what makes it yours.

And the layers underneath are the quiet rebellion stacked three deep: one signal function instead of a framework, no-build, hand-written HTML with the skeleton typed from memory, minified by hand. Each of those is a refusal of a layer someone told you was mandatory — the build system, the linter’s discipline, the framework. You rebuilt the benefit and threw away the ceremony, by hand, for joy.

The Hemingway iceberg landing is the part I’ll keep. Knowing the whole story and showing one-eighth — as craft, and now as a way of hiding information from AI — turns deliberate omission into both art and strategy. The enigma is the point.

Collapse
 
alexcodebytes profile image
Oleksandr •

The "somewhere, coding stopped being allowed to be fun" observation is real, but I think the root cause is different than the article says.

It's not the doom stream that killed the joy. It's that the joy was always fragile, and the doom stream just made it visible. The same people who now say "AI makes this pointless" were the ones two years ago saying "why are you building that when you could just use [framework X]". The economic lens was always there — AI just made it sharper and louder.

What's actually changed for me: the things I build for fun are now things I'd never show on LinkedIn. A tiny RuneScape bot that plays badly. A ray tracer that renders at 5 fps. A Telegram bot that answers in riddles. All worthless by market standards. All things I still think about months later.

The article's best point is the "not a single economic argument" part. But I'd go further — it's not just that economic arguments don't apply to fun coding. It's that they never applied to anything that mattered.

What's your worthless thing? Mine is a homebrew parser for a fictional language from a 1990s game, which I wrote from scratch and will never use.

Collapse
 
james_anderson_h profile image
James Anderson •

Your root-cause correction is sharper than mine, and I think you’re right: the doom stream didn’t kill the joy, it made visible a fragility that was always there. The “why build that when framework X exists” crowd are the same people now saying “why build that when AI exists” — the economic lens was never new, AI just turned up its volume. That’s the better diagnosis, because it means the defense has to be internal, not environmental.

But the LinkedIn detail is what got me, because it’s quietly devastating: the things you build for fun are now things you’d never show. A badly-playing RuneScape bot, a 5fps ray tracer, a riddle-answering Telegram bot — worthless by the ledger, still in your head months later. That gap between what you’d perform publicly and what actually stuck is the whole wound.

And your sharpening is the line I’ll take back: it’s not that economic arguments don’t apply to fun coding — they never applied to anything that mattered. The ledger was always the wrong instrument.

Mine: a tool that generates fake, plausible git history just to make the commit messages sound like a real tired dev at 2am. Useless. Unshowable. A favorite.

Collapse
 
alexcodebytes profile image
Oleksandr •

A fake-git-history generator that makes commits sound like a tired dev at 2am is the most relatable "useless" project I've heard. I'd genuinely use it — not for anything productive, just to see what my commits would look like if I were a different kind of tired.

The line you pulled out — "the ledger was always the wrong instrument" — is the one I keep coming back to. It's not anti-market or anti-AI. It's just that the ledger was never measuring the thing that made the work worth doing, and it never admitted that.

Good luck with the next 37-part series. I'll be reading.

Thread Thread
 
james_anderson_h profile image
James Anderson •

Ha — “to see what my commits would look like if I were a different kind of tired” might be a better pitch for it than anything I’d have written. And yeah, “the ledger was always the wrong instrument” is the one that stuck with me too — not anti-market, just honest that it was measuring the wrong thing the whole time and never said so. Thanks for reading, and for the kind words on the next series — I’ll try to make it worth the subscription you’re definitely not paying. 🙂

Thread Thread
 
alexcodebytes profile image
Oleksandr •

"Not anti-market, just honest that it was measuring the wrong thing the whole time" — that's the perfect way to put it. It's not about rejecting the market, it's about not letting it be the only voice in the room.

Looking forward to the series. And for what it's worth — I'd genuinely try that fake-git-history tool. Half my commits already look like they were written by a different kind of tired, so it might just make it official.

Thread Thread
 
james_anderson_h profile image
James Anderson •

“Not letting it be the only voice in the room” is the cleanest statement of the whole thing — the market gets a vote, just not the only one, and somewhere we handed it the whole floor. And “my commits already look like a different kind of tired, might as well make it official” is genuinely funnier than anything in the tool itself — honestly tempted to ship it now just so your commit history can finally match your soul. Thanks for making this thread a good one. 🙂

Thread Thread
 
alexcodebytes profile image
Oleksandr •

"Ship it so your commit history can finally match your soul" — that's the pitch. If you do ship it, I'd genuinely pay for a version that generates a "tired dev at 2am" commit history for an existing repo. Not for anything useful, just to see what my past year of work could have looked like.

Thanks for the thread. This is the kind of conversation that makes dev communities worth being in.

Thread Thread
 
james_anderson_h profile image
James Anderson •

Thanks Brother😊

Collapse
 
ingosteinke profile image
Ingo Steinke, web developer •

None of this feels new by the way. Ten years ago, it was SPA web apps built with React or Angular mostly with a backend- or devOps-focused mindset deliberately ignoring all the values and insights the web development, web performance optimizatiion, and usability research had just established. Add product owners with their 80/20 MVP move-fast-and-break-things approach. All of this threatening to kill everything that was fun about making websites.

But it didn't.

DevUX or usability-focused frontend web development kept optimizing and implementing accessibility, responsive web design, and progressive enhancement. Some of our projects aged well. And all the devOps stuff I experienced both as annoying and useful at the same time. Webpack has since been obsoleted by Vite, while node and npm have copied all the relevant aspects that made yarn and bun relevant and important. React learned from static site generation, and Astro tried to unify classic web development and various JavaScript frameworks and libraries. So we did make progress after all.

Now AI is the latest hype, specifically meaning LLM-based generative artificial intelligence focused mostly on chat, command-line, and code interfaces. DEV, Medium, and LinkedIn are, once again, drowning in a flood of mostly irrelevant slop that nobody will want to read ever again in two years from now.

Last but not least, to answer your question, my most uneconomic digital effort is my commitment to my own blog website which I keep optimizing for quality and SEO. When it comes to development technologies, learning Astro didn't pay off financially yet, and improving understanding and coding CSS also seems not much more than a nerdy hobby these days.

Collapse
 
james_anderson_h profile image
James Anderson •

The historical perspective is the most grounding thing anyone’s added, and it’s a real corrective to the doom: you’ve lived through this exact panic before, several times, and watched the thing worth keeping survive it each time. SPAs built with a backend mindset that ignored everything usability research had just established, move-fast-and-break-things product owners threatening everything fun about making websites — and yet the craft didn’t die. DevUX kept optimizing, accessibility and progressive enhancement kept getting built, Webpack gave way to Vite, React learned from static generation, Astro tried to unify it all. The hype flooded in, receded, and the people who actually cared about the work were still there afterward, having quietly made real progress.

That’s the longer-horizon answer to this whole piece: the slop flood is real, and most of what’s drowning DEV and LinkedIn right now will be unreadable in two years — but that was true of the last flood too, and the signal outlived the noise. The hype cycles are loud; the craft is patient.

And your most-uneconomic effort is perfect: a blog you keep optimizing for quality, and CSS as a “nerdy hobby” that hasn’t paid off and doesn’t need to. That’s the whole thesis — the care is the point.

Collapse
 
ygritte profile image
ygritte •

No boydev no cry 🤣

Collapse
 
james_anderson_h profile image
James Anderson •

Ha — “no boydev no cry” 😄 Honestly that belongs on a sticker. If the fake-git-history tool ever ships, that’s going straight in the README. Thanks for the laugh — good way to close out a thread that got unexpectedly philosophical. 🙂

Collapse
 
ygritte profile image
ygritte •

@highflyer910 fun aside... what do you think, was this topic on the spot?

Thread Thread
 
highflyer910 profile image
Thea •

On the spot :)
It's good to see there are still people who find joy in coding without feeling the need to justify it by the market.

Thread Thread
 
james_anderson_h profile image
James Anderson •

Right? Turns out the market never actually checked whether we were having fun — so we might as well. 🙂

Collapse
 
sujalkhatri profile image
Sujal Khatri •

I think the poisoned part is how the economic lens reframes play as waste. The doom stream's trick is never claiming coding has no value — it quietly insists that value has to be capturable by someone else's ledger. Once you notice that move, the whole feed reads differently.

My answer to your question: a tiny collection of browser-based text tools — case converter, duplicate-line remover, word counter — that I built mostly to scratch my own itches. It will never be a business, and that was the point. Some of the most absorbed hours I've had this year were spent on it, because nobody was waiting for the output.

The quiet rebellion framing is right, but I'd add one thing: don't fence it off to weekends. The best production code I've written came from sessions that started as play and were allowed to stay play for a while.

Collapse
 
james_anderson_h profile image
James Anderson •

Naming that the doom stream never claims coding is worthless — it just smuggles in that worth only counts if it lands on someone else’s ledger — is the sharpest diagnosis of the trick anyone’s offered. Once you see that move, half the feed reads differently: it’s the market quietly insisting it should get to price your attention. Your text-tools example is the perfect illustration — never a business, and that was the point, and it gave you some of the most absorbed hours of your year precisely because nobody was waiting for the output.

And your addition is the one thing I’d correct in my own piece: don’t fence play off to weekends. Framing it as a “quiet rebellion” for your own time accidentally concedes that work hours belong entirely to the ledger — when, as you say, the best production code often comes from sessions that started as play and were allowed to stay play a while. The joy isn’t the opposite of good work. It’s frequently the source of it. Going in with that correction.

Collapse
 
konradvale profile image
Konrad Vale •

For me AI went the other way 🙃 it took the boilerplate, and what’s left is mostly the part I always liked. Turns out the fun was never in typing getters.

Collapse
 
james_anderson_h profile image
James Anderson •

Ha, that’s the optimist’s cut of the same coin, and honestly a fair one — if the fun was never in typing getters and wiring boilerplate, then handing that part to the machine just concentrates what’s left into the good stuff: the thinking, the shape of the thing, the problem worth solving. For some people AI didn’t take the joy, it took the chores. I think both can be true at once, too — it depends entirely on which part you loved. If you loved the puzzle, AI cleared the desk for you. If you loved the making-with-your-hands, it took the hands. You clearly loved the puzzle. Lucky you — and genuinely, I mean that. 🙂

Collapse
 
konradvale profile image
Konrad Vale •

Lucky is the right word. I didn’t get to pick which part I’d end up loving.

Thread Thread
 
james_anderson_h profile image
James Anderson •

None of us picked which part we’d love — so “lucky” is just your wiring lining up with where the chips fell.

Collapse
 
roladev profile image
Arol •

AI destroy creativity drastically, destroy the fun part of many things. For example, I remember how fun was to write post even with errors without a robot assisting us.

And it's not only "un-fun" to write code or post, it's becoming "boring" to read it or consume it too.

Remember 1984. Everything, everyone is the same then no one is different? Fight for the difference, write from your guts code and post without ort minimum assistance and be prepared for, what Byung-Chul Han say: this world do not accept the different and will try to destroy it too... but at least will be fun.

Collapse
 
humam_moin profile image
Humam Moin •

I really like this perspective. With all the AI hype, it sometimes feels like we have to justify every line of code we write. Sometimes I just want to build something cool, figure things out myself, and enjoy the process. Not everything needs to be useful or profitable.

Collapse
 
nikkhielseath profile image
Nikkhiel Seath • • Edited

Just in today's VC chat, I asked if anyone still programmed just for fun. :)

Thank you for this post! :).