I don't know but to me this all sounds like the antithesis of what makes programming fun. You don't have productivity goals for hobby coding where you'd have to make the most of your half an hour -- that sounds too much like paid work to be fun. If you have a half an hour, you tinker for a half an hour and enjoy it. Then you continue when you have another half an hour again. (Or push into night because you can't make yourself stop.)
What you consider fun isn't universal. Some folks don't want to just tinker for half an hour, some folks enjoy getting a particular result that meets specific goals. Some folks don't find the mechanics of putting lines of code together as fun as what the code does when it runs. That might sound like paid work to you, but it can be gratifying for not-you.
The difference is whether or not you find computers interesting and enjoy understanding how they work. For the people who just want to solve some problem unrelated to computers but require a computer for some part of the task, yes AI would be more “fun”.
I don’t find this to be true. I enjoy computers quite a bit. I enjoy the hardware, scaling problems, theory behind things, operating systems, networking, etc. Most of all I find what computers allow humanity to achieve extremely interesting and motivating. I call them the worlds most complicated robot. I don’t find coding overly fun in itself. What I find fun is the results I get when I program something that has the result I desire. Maybe that’s creating a service for friends to use, maybe it’s a personal IT project, maybe it’s having commercial quality WiFi at home everyone is amazed at when they visit, etc. Sometimes - even often - it’s the understanding that leads to pride in craftsmanship. But programming itself is just a chore for me to get done in service of whatever final outcome I’m attempting to achieve. Could be delivering bits on the internet for work, or automating OS installs to look at the 50 racks of servers humming away with cable porn level work done in the cabinets. I never enjoyed messing around with HTML at that much in the 90s. But I was motivated to learn it just enough to achieve the cool ideas I could come up with as a teenager and share them with my friends. I can appreciate clean maintainable code, which is the only real reason LLMs don’t scratch the itch as much as you’d expect for someone like me.
I think a lot of us just discovered that the actual programming isn't the fun part for us. It turns out I don't like writing code as much as I thought. I like solving my problems. The activation energy for a lot of things was much higher than it is now. Now it's pretty low. That's great for me. Baby's sleeping, 3d printer is rolling, and I get to make a little bit of progress on something super quick. It's fantastic.
This 1000x! I had a bit of an identity crisis with AI first landed and started producing good code. “If I’m not the man who can type quickly, accurately, and build working programs… WHO AM I?” But as you pointed out, I quickly realized I was never that guy. I was the guy who made problems go away, usually with code. Now I can make so many problems go away, it feels like cheating. As it turns out, writing code isn’t super useful. It’s the application of the code, the judgement of which problems to solve and how to solve them, that truly mattered. And that sparks a LOT of joy.
It’s possible to be someone who’s very good at writing quality programs but still enjoy delegating as much of that as possible to AI to focus on other things.
This. Busy-beavering is why the desktop Linux is where it is - rewriting stuff, making it "elegant" while breaking backwards compatibility - instead of focusing on the outcome.
It's just fun in a different way now. I've long had dozens of ideas for things I wanted to build, and never enough time to really even build one of them. Over the last few months, I've been able to crank out several of these projects to satisfactory results. The code is not a beautiful work of art like I would prefer it to be, and the fun part is no longer the actual code and working in the code base like it used to be. The fun part now is being able to have an app or tool that gets the job I needed done. These are rarely important jobs, just things that I want as a personal user. Some of them have been good enough that I shipped them for other users, but the vast majority are just things I use personally. Just yesterday for example, I used AI to build a GTK app that has a bunch of sports team related sound effects built into them. I could have coded this by hand in 45 minutes, but it only took 10 minutes with AI. That's not the best part though. The best part is that I was able to use AI to get it building into an app image in a container so I can distribute it to myself as a single static file that I can execute on any system I want. Dicking with builds and distribution was always the painful part and something that I never enjoyed, but without it, usage is a pain. I've even gone back to projects I built a decade ago or more and got them building against modern libraries and distributed as RPMs or app images that I can trivially install on all of my systems. The joy is now in the results rather than the process, but it is joy nonetheless.
I think, for a lot of people, solving the problem was always the fun part. There is immense pleasure in a nice piece of code - something that is elegant, clever and simple at the same time. Grinding out code to get something finished - less fun…
It depends. Sometimes they joy is in discovering what problem you are solving, by exploring the space of possibilities on features and workflows on a domain. For that, having elegant and simple software is not needed; getting features fast to try out how they work is the basis of the pleasure, so having to write every detail by hand reduces the fun.
Something happened to me a few years ago. I used to write code professionally and contribute to open source a lot. I was freelancing on other people's projects and contributing to mature projects so I was doing hard work, mostly at a low level (I mean algorithms, performance fixes, small new features, rather than high level project architecture). I was working on an open source contribution for a few days. Something that I struggled with, but I enjoyed the challenge and learned a lot from it. As it happened someone else submitted a PR fixing the same issue around the same time. I wasn't bothered if mine got picked or not, it happens. But I remember looking at how similar both of our contributions were and feeling like we were using our brains as computers, just crunching algorithms and pumping in knowledge to create some technical code that was (at the time) impossible for a computer to create. This stayed with me for a while and I decided that doing this technical algorithm crunching wasn't the best use of my human brain. I was making myself interchangeable with all the other human (and now AI) code crunchers. I should move on to a higher level, either architectural or management. This was a big deal for me because I did love (and still do) deeply understanding algorithms and mathematics. I was extremely fortunate with timing as it was just around one year before AI coding became mainstream but early enough that it wasn't a factor in this shift. Now an AI could probably churn out a decent version of that algorithm in a few minutes. I did move on to open my own business with my partner and haven't written much code in a few years. And when I do now I appreciate that I can focus on the high level stuff and create something that my business needs in a few hours without exhausting myself on low level algorithm crunching. This isn't meant to put down the enjoyment of writing code for code's sake. I still do appreciate well written code and the craft that goes into it. I'm just documenting my personal shift and noting that enjoyment can be found on both sides.
I think this is showing the difference between people who like to /make/ things and those that like to make /things/. People that write software because they see a solution for a problem that can be fixed with software seem to benefit the most of LLM technology. It's almost the inverse for the people that write software because they like the process of writing software.
Surely there has to be some level of "getting stuff done"/"achieving a goal" when /making/ things, otherwise you'd be foregoing for-loops because writing each iteration manually is more fun.
I think you misunderstand the perspective of someone who likes writing code. It's not the pressing of keys on the keyboard. It's figuring out which keys to press. Setting aside for the moment that most loops have a dynamic iteration count, typing out the second loop body is not fun if it's the same as the first. I do code golf for fun. My favorite kind of code to write is code I'll never have to support. LLMs are not sparking joy. I wish I was old enough to retire.
I have a 10-year-old side project that I've dumped tens of thousands of hours into. "Ship the game" was an explicit non -goal of the project for the vast majority of that time. Sometimes, the journey is the destination.
Sure, but, in the real world, for the software to deliver a solution, it doesn't really matter if something is modelled in beautiful objects and concise packages, or if it's written in one big method. So for those that are more on the making /things/ side of the spectrum, I guess they wouldn't care if the LLM outputs code that has each iteration written separately. It's just that if you really like to work on your craftsmanship, you spend most of the time rewriting/remodelling because that's where the fun is if you're more on the /making/ things side of the spectrum, and LLMs don't really assist in that part (yet?). Maybe LLMs could be used to discuss ways to model a problem space?
I like both the process and the product, and I like using LLMs. You can use LLMs in whatever way works for you. Objections like the ones in this thread seem to assume that the LLM determines the process, but that’s not true at present. Perhaps they’re worrying about what might happen in future, but more likely they’re just resisting change in the usual way of inventing objections against something they haven’t seriously tried. These objections serve more as emotional justifications to avoid changing, than rational positions.
So much this. The act of having the agent create a research report first, a detailed plan second, then maybe implement it is itself fun and enjoyable. The implementation is the tedious part these days, the pie in the sky research and planning is the fun part and the agent is a font of knowledge especially when it comes to integrating 3 or 4 languages together.
There are many people who enjoy spending an afternoon working on a classic car. There are also many people who enjoy spending an afternoon driving a classic car. Sometimes there are people who enjoy both. Sometimes there are people that really like driving but not the tinkering and some who are the opposite.
I yearn for the mindset where I actively choose to accomplish comparatively little in the brief spells I have to myself, and remain motivated. Part of what makes programming fun for me is actually achieving something. Which is not to say you have to use AI to be productive, or that you aren't achieving anything, but this is not the antithesis of what makes programming fun, only what makes it fun for you.
If you only get one or two half-hours a week it's probably more fun to use those to build working software than it is to inch forward on a project that won't do anything interesting for several more months.
I enjoy coding for the ability to turn ideas into software. Seeing more rapid feature development, and also more rapid code cleanup and project architecture cleanup is what makes AI assisted coding enjoyable to me
I think it just depends on the person or the type of project. If I'm learning something or building a hobby project, I'll usually just use an autocomplete agent and leave Claude Code at work. On the other hand, if I want to build something that I actually need, I may lean on AI assistants more because I'm more interested in the end product. There are certain tasks as well that I just don't need to do by hand, like typing an existing SQL schema into an ORM's DSL.
I too have found this. However, I absolutely love being able to mock up a larger idea in 30 minutes to assess feasibility as a proof of concept before I sink a few hours into it.
> There are two sorts of projects (or in general, people): artisans, and entrepreneurs. The latter see code as a means to an end, possibly monetized, and the former see code as the end in itself. Me from 9 days ago: https://news.ycombinator.com/item?id=46391392#46398917
I do have productivity goals! I want to spend the half hour I have on the part I think is fun. Not on machine configuration, boilerplate, dependency resolution, 100 random errors with new frameworks that are maybe resolved with web searches.
I enjoy noodling around with pointers and unsafe code in Rust. Claude wrote all the documentation, to Rust standards, with nice examples for every method. I decided to write an app in Rust with a React UI, and Claude wrote almost all the typescript for me. So I’ve used Claude at both ends of the spectrum. I had way more fun in every situation. AI is, fortunately, very bad at the things I find fun, at least for now, and very good at the things I find booooring (read in Scot Pilgrim voice).
I think there can be other equally valid perspectives than your own. Some people have goals of actually finishing a project instead of just "tinkering"... and that's ok. Some say it might even be necessary.
> At that point, the argument over whether they're crap or not is done. Not really, it just transforms into a question of how many of those jobs are meaningful anyway, or more precisely, how much output from them is meaningful.
You just described my experience exactly. Especially the personal side project time as a parent. Now after bed I can tinker and have fun again because I can move so much more quickly and see real progress even with only an hour or two to spend every few days.
Yes! I feel like so many people really fail to appreciate this side of things. Heck, Suno has gotten me to the point where I play so much more piano (the recording -> polished track loop is very rewarding) that not only did I publish an album to Spotify in my favorite genre, of music that I’m really happy with, I’ve also started to produce some polished acoustic recordings with NO AI involvement. That’s just because I’ve been spending so much more time at the piano, because of that reward loop.
Equally a good use for a legacy compiler that compiles a legacy language. Granted, you are going to have to write a lot more boilerplate to see it function (that being the difference, after all), but the outcome will be the same either way. It's all just 1s and 0s at the end of the day.
The important difference is the reduction in boilerplate, which allows programs to be written with (often) significantly less code. Hence the time savings (and fun) spoken of in the original article. This isn't really a new phenomenon. Languages have been adding things like arrays and maps as builtins to reduce the boilerplate required around them. The modern languages of which we speak take that same idea to a whole new level, but such is the nature of evolution.
That IKEA analogy is pretty good, because plenty of people use IKEA furniture to solve the "I need a bookshelf" problem - and often enjoy the process - without feeling like they should call themselves a carpenter. I bet there are professional carpenters out there who occasionally assemble an IKEA bookshelf because they need something quick and don't want to spend hours building one themselves from scratch.
I was just getting pretty sick and tired of programming, instead now AI can write the code down while I do the fun things of figuring out how shit works and general device hacking + home projects
There's been so much pressure to use AI at work. My codebase is a zen garden I've been raking for 6 years. I have concerns about what's going to happen after a few months of "we're using AI cause they told us to."
I kinda feel the same way, don't get me wrong, I'm a developer at soul level, I absolutely love programming, but I love more getting shit done, automating things, taking the human out of the equation and putting the computer to do it, AI lets me do that. I work in cybersecurity as a WAF admin, my job is 100% that, but I'm also the only developer so anything that needs to be scripted or developed I get to do it. One week I created 4 different scripts with Gemini Canvas to automate some tedious work, it took my I don't know, 3 hours? Instead of 1 or 2 weeks? Yeah sign me in.
Au contraire. Web development has always been fun, unless you add all the crap mentioned in TFA. If you feel you need all that stuff to feel grown up, then I guess LLMs help a lot. But the barometer hasn't changed: make something that people love.
In the context of "fun again", debugging slop, finding imaginary dependencies, and discovering unimaginably fragile code isn't fun , even if it's not important. But past bad output, I worry for our creative fulfillment. The old timers are right. That feeling of accomplishment, a keystone of happiness is a product of work. Probably beyond the scope of the thread.
AI makes finishing projects easier. But I would steer away from starting them. In order for me to be comfortable with a code base and consider it mine I need to have written the foundation, not merely reviewed in. Once the pillars are there, LLMs do make further development faster and I can concentrate on fun details (like tinkering with CSS or thinking about some very specific details).
Yes! I've been having a great time prompting "vanilla JavaScript, no react" and building neat things that use browser APIs exclusively (including modern stuff like web audio APIs and Web Components and WASM) because I don't need to learn a bunch of boilerplate stuff first anymore. Feels like coding in the 200xs and I'm enjoying every minute of it.
I really agree with this. For me it just feel so much more fun and rewarding to build my weekend projects, especially those projects where I just want to produce and deploy a working mvp out of an idea. If trying out a new framework or whatever I find it quite the opposite though, that AI removes all the fun parts of learning (obviously)
Meanwhile, I've been feeling the fun of development sucked away by LLMs. I recently started doing some coding problems where I intentionally turned off all LLM assistance, and THAT was fun. Although I'll be happy to use LLMs for nightmare stuff like dependency management. So I guess it's about figuring out which part of development you enjoy and which part drains you, and refusing to let it take the former from you.
I've tried vibe coding and hate it. I guess it's okay for people who are only interested in the result, but for me it takes all the fun out of programming. It doesn't feel like it has anything to do with programming at all. I will continue to "vibe code" out of necessity - saving time and achieving more than I can on my own. But I cannot possibly understand how someone could consider it fun.
its also trading one problem for another. when manually coding you understand with little mental effort what you want to achieve, the nuances and constraints, how something interacts with other moving parts, and your problem is implementing the solution when generating a solution, you need to explain in excruciating detail the things that you just know effortlessly. its a different kind of work, but its still work, and its more annoying and less rewarding than just implementing the solution yourself
One thing is true: now I go to the bar with the other guys in the group, drink whatever and let Claude or Codex do the work while I supervise, then merge PR in the morning... I wish I was kidding, but for non critical projects this is now a reality
I work at most 3-4 hours a day, and my work is prompting Cursor. Certainly an improvement over suffering 8 hours a day, but still not quite what I'm looking for.
Of course its fun. Making slop _is_ very fun. Its a low-effort dopamine-driven way of producing things. Learning is uncomfortable. Improving things using only your braincells can be very difficult and time consuming.
I don't bike for exercise. I bike to get where I'm going with the least amount of friction. Different tools for different jobs. Also: I think we can agree that Ripley was getting a good workout.
it is fun again because we can remove ourselves completely from it? seems like web enthusiast are always the first to drop ship huh. "llms good because I no longer have to interface with this steaming pile of shit that web development has become", not because the web ecosystem has improved by any metric.
Web development may be fun again but you aren’t developing. You order and became a customer. Maybe you can distinguish good code from bad code but how long will you check it? Auditing wasn’t the fun part ever. And I bet at some point you will recognize a missing feeling of accomplishment because you didn’t figure out the how, you just ordered the what. We wouldn’t call someone a painter who let AI do the painting.
To me it seems like for OP development was a means towards an end. The act to developing software as a craft does not seem to be of importance to him while the output is. His post is full of references to productivity and lacking references of improving his skills (as opposed to using LLMs as a crutch) or getting better at writing software. I bet OP would be equally happy if he had AGI that would write everything for him. For many in HN, programming is an end in itself and they would not be happy giving that up just because it makes you finish quicker.
This is probably the best post i've seen about the whole LLM / vibe coding space at least in relation to web dev. Indeed, as the author states, the code / agent often needs some coralling, but if you know all the gotchyas / things to look for, you can focus 100% on the creativity part! Been loving it as well.
Yes, so what? That's what I basically do, i need a little framework with this and that and API, 15 minutes later I get exactly what I need and want. Not more, not less.as long as it's not Auth, crypto or something like that, I don't see an issue.
honestly, with LLMs, everything is fun again. embedded dev with a billion toolchains, GPU development with each vendors bespoke API, ffmpeg with its billion parameters - if anything, you could say LLMs bailed us out of the impending ultra-specialization. without LLMs, we might be facing a world where 30% of the workforce is in software dev. i am keeping my eyes peeled on vibe-coding PCB layouts and schematics. a lot of eyes in that direction already but its still early.
Seeing the output I want when I describe it, and making changes to get to the vision in my mind. I don't have aphantasia so maybe it's different for those who do, but I can literally see the UI of the app I want to build and of course I can build it by writing code manually too, but I can make it exist much faster with an LLM than without.
Why make pizza when you can order it? As far as I can tell, there's not much enjoyment of making being had. Enjoying having is fine too, but let's at least be honest about it. I enjoy looking at photos people took on hikes, but I don't call it hiking.
Not if you sit at home wearing boots and looking at photos of mountains. If you want to have boots, that's cool. But is replacing walking with ordering boots and photos making hiking fun again? Or were you only interested in the photos anyway? What part of the process of hiking do you enjoy? And why is it so hard to hear what part of the process of programming people enjoy?
This is just obtuse. Some folks have fun building their own pizza oven, curing & slicing their own meat, and mixing their own dough. Some folks like to buy mostly pre-made stuff and just play with a few special ingredients. Some folks want to make 5 different pizzas with different flavors. Some folks just order a pizza. Some folks walk out of their house and start hiking. Some folks drive somewhere and then start walking. Some folks take photos from the car. Some folks take a roadtrip. All of these things ask for different effort & commitment with different experiences & results as the payoff. At least be honest about that.
Like, fine, here's a personal example: I wanted to build a system that posts web links I share to a bot account on the fediverse. That seemed like a fun result to me. I wanted to self-host the links, so I installed Linkding. (I didn't write Linkding.) For the fediverse bot, I installed gotosocial as the service host (I didn't write gotosocial.) From there, a cronjob running a small program using Linkding and gotosocial APIs could do the trick. Decided to do it in golang, because the standalone binaries are easy to deploy. Writing that small program didn't seem like fun - I've already played with those APIs and golang. What I wanted, for my enjoyment, was the completed system. So, I took 10 minutes to write out a quick spec for the program and what I wanted it to do. I loaded that up as context for Claude Code along with some pointers for building CLI apps in golang. I let it rip and, in about 20 minutes, Claude produced a functional tool. It also wrote a decent README based on my original prose. I reviewed the code, did some testing, made some tweaks, called it done. My bookmarks are now regularly posted to a bot account on the fediverse. This is an enjoyable outcome for me - and I didn't have to type every line of code myself. For bonus points, I also had Claude Code gin up some GitHub Actions workflows to lint, test, build, and release multi-platform binaries for this tool. I've done these things before, but they're tedious. More enjoyable to have the resulting automations than to build them. And now I have them: I can make tweaks to this tool and get builds just through the GitHub web UI. I've since repeated this pattern with a handful of other small personal tools. In each case, I wanted the tool and the utility it offered. I didn't care about the process of writing the code. It's working pretty well for me.
> Clicks, expecting some new spec or framework that actually made web dev fun again > Looks inside > "AI has entered the chat" What did I even expect. I wonder how many clickbait posts of this type are gonna make the HN front page.