It would probably have been safer for the author to explicitly point out that this is true for them specifically, rather than a general rule, because this way they run the risk of never hearing the end of it.
For me it really depends whether I'm happy with the result. The code base I work on is such a complex mess, AI often gets lost and I am not able to sufficiently scope the problem and foresee all the subtleties I don't actively remember. That often leads to agents loosing the plot and writing horrendous code. Trying to debug that and steering the agent back is not fun. But if I can avoid that, keep things small and isolated, so it just allows me to get things done more quickly, it can be a lot more fun. I miss the flow state though, with ai i'm way more distracted and feel a lot less productive after a days work.
Boy look at all these six month old accounts that have been programming for decades and just love vibe coding!
Excellent write-up. This reminds me of a quote from "Dialektik der Aufklärung." (My English translation below)
"Die Menschen bezahlen die Vermehrung ihrer macht, mit der Entfremdung von dem, worüber sie die Macht ausüben."
"People pay for the multiplying of their power with the alienation from that which they exercise their power over."
For me, a big part of it is there is something about the formal structure of a programming language that is very satisfying to me. Same thing with math. There is something about the precision, and the constraints. Writing natural language prompts just isn't the same.
I don't know if "fun" is the right word for me, but since AI coding has taken over nearly all of my individual hand coding (or augmented IDE suggestion coding), I find it much less satisfying to solve difficult problems with creative solutions. That always tickled a part of my programming brain, and I didn't realize how much I enjoyed that until I didn't do it anymore. Now, sure, I've broadened out to more systems-level thinking, but now the hard problems that I have generally aren't engineering problems, they're personnel problems, integration problems, planning/priority problems, and solving those usually means taking a deep breath and having a "conversation" with a senior manager, making an annoying business case, whatever else. There's much less satisfaction in that for me.
I've programmed for decades. Vibe coding is more fun than writing boilerplate just to kick off a small project these days.
The days of:
10 PRINT "Hello World!"; 20 GOTO 10
Are long gone.
Incorrect!
As a domain expert, I spent all my time learning my scientific niche, and only a small bit on practical coding. Now I can manifest the ideas I formerly needed to hire developers for. WAY more fun.
Personal Context: For our personal ClockStack[0] project, I have decided that I will NOT read code at all. Though at high level, I do decide the architecture, dependency libraries etc. Sometimes even telling database schema. That's it. No code reading. Even ask AI how you implemented is enough. And going for prod/live just by chatting with AI is totally fun. Background: I wanted to do this ~5 years back and read almost 500 pages of H.264/RTMP spec/documentation. Even got valid non-compressing video encoding working in Golang. Then priorities changed. Now with the power of AI: Live within a week. I will absolutely call it vibe coding. It is totally fun.
It feels to me like what I imagine it world be to transition from developer to a development manager. I like getting the product but the enjoyment of solving the challenges is missing
Fun is a weird thing to measure, it's often tied to things we don't instrument properly and/or account for poorly.
For me, personally, I have learned that fun is often more correlated with social connection and sharing than it is with subjective perception or gratification of the task at hand if removing the social element.
The most fun I had in life was when I had great teams, great people, and great challenges to share both the growth and struggles with. The rest, like what tooling we used, was optional and easy to misjudge as important at the time. Looking back I rarely recall the experience of using certain tooling over another, and often remember the people and the stories.
There's one thing I struggle to understand when I read posts like this: who is forcing these people to vibe code their side projects? If you want to hand-code because you enjoy it, what is stopping you?
I understand that the work we get paid to do exists in an entirely different context. Capitalism will always push for doing more with less. When you're on the clock, the rules are different.
But if you love coding. By all means, code. What's stopping you?
Also, I think we need to update our terminology. "Vibe coding" served its purpose and still defines a subset of how people are creating software. But I feel that working with coding agents, carefully orchestrated by skilled developers, deserves a term less dismissive than "vibe coding".
To me, vibe coding is pulling the arm of the slot machine until something good comes out. Yeah, that can honestly be a lot of fun. But working with these tools to create code that is as good as, if not better than what you'd write yourself, that's something else entirely. I think we flatten the nuance of this whole crazy situation we find ourselves in when we conflate the two.
I was vibe coding algorithms for research for months, enjoying it. Had to move it into production, doing normal cs work. Disliked it. Began to understand the point of this article. Reviewing, testing, arguing with other dev's is painful.
I think this is cope. I'm sorry to be so harsh, and the author is entitled to their opinions on what is fun, but I think a lot of the "LLMs are not fun" discourse is motivated reasoning.
We can no longer deny that LLMs are useful for coding, so we now move on the only remaining and defensible goalpost: I don't use LLMs because I don't want to. To be clear, this is a perfectly fine position and I hold no ill will against anybody holding it, but I don't think one gets to this conclusion naturally. It comes first from a lifetime of writing software, like I and many others have experienced.
And for what it's worth, I always had more fun planning what I was going to build rather than handling the brass tax of implementation. The specifics of problem and solution are always what interested me more than writing each character, and LLMs allow for me to do just this, and nothing else. Not a bad deal!
Again, my apologies for being such an insufferable asshole that I came here and told you what you ought to like. This is my opinion, based solely on my experience, and I might be wrong.
Writing code by hand, for your employer, isn’t what most people consider “fun”, anyways
It's fun when you find an actual new boundary and capability that you wanted to build, and the abstraction is clean, and then you materialize it into existence.
It's awful when the boundary breaks down. It might just be inherit to the loop (no mind readers) but I will walk away from an AI task for 30 minutes and all too frequently there will be insane code smells.
I've been doing a thing where I will have "integration" projects between many different subsystems to demonstrate some capability, test it, then destroy the integration folder, folding back what we learned into the subsystems themselves. So far this has been OK for learning and it incentivizes the AI to not throw garbage everywhere. Of course, this assumes you get subsystems right but it prevents direct reaching into them and modifying excessively - try to do the most you can with fixed interfaces, etc.
Double edged sword. I started programming in the 90s as a teenager, it was always fun for me to code. Several toy projects on GitHub, later studied CS and became a professional dev of course.
I started a small one-man SaaS in 2022 that I coded by hand, and have gradually adopted AI usage. I don't write a single line of code anymore today, and my speed/performance has supercharged in the last 6-12months. The fun of coding is completely gone, but replaced with me being able to deliver what I need to grow the product (from dev, to design and marketing work).
I think there’s a difference in vibe coding and what I call accelerated software construction.
Vibe coding is like a last second weekend trip to Paris.
Accelerated software construction is like planning a four week backpacking trip through Western Europe.
I’m a grey beard so I’m on the far side of “writing code is fun” but I get it. I used to love those ah-ha moments when solving coding problems.
But now I love delivering solutions to the business or creating software that works as I envisioned it and those two things are fun in very different ways.
I completely agree. I am still writing code by hand because I find it enjoyable and almost therapeutic.
I'm really enjoying dusting off old projects that I lost interest in and handing them over to Claude to modernize their code and resurrect the ideas. But I'm also starting to miss the grind and feeling of accomplishment when you build stuff yourself, or finally sort out that nagging bug. I think there is a balance to be found, for me anyway, and I'm not sure I've found it yet.
Vibecoding is intellectual Viagra for the feeble-minded.
I think you should split the difference and use vibe coding for the parts you don't care about.
Example, the UI for his two vibe coded example apps. Why not let AI do a single pass on that? 30s for a huge improvement. Other than the personal pride of saying you did it all, I don't see why not.
It's not a strict binary. I can write the parts of the code that I find interesting and shove the parts I don't want to write onto the model.
Personally I also liked writing assembly code for hot loops. It just doesn’t make sense anymore except in some rare 1% case.
riding horses is many ways way more fun than driving a car (earliest form of self driving!!!); but I'd never consider riding as a real form of transportation
it's fine to keep riding though as long as you're having fun!! but it will definitely get worse and worse as a form of transportation
(this is true for hand coding too)
Creators vs. Coders.
Agree ! Writing code by hand becoming a thing of the past unfortunately !
Watching someone play videogames is not as fun as playing the said game yourself.
It depends on the goal. Right now, one thing I definitely wouldn't want to do is write js bullshit by hand - absolutely not.
But if we are talking about personal projects where the aim is to learn complex interesting things, then of course writing code by hand is the only way to actually learn.
I guess antirez agrees with this as well[0].
Vibe coding is fun when you catch a good vibe and the AI seems to magically one shot things you’re thinking about almost perfectly.
Unfortunately it also means that whatever you’re asking for has likely already been thoroughly done and explored before and is nothing novel.
Writing code is fun for me in a mechanical way - it is very satisfying to edit my lisp expressions in Vim (gasp not emacs)
I'm sure some people thought that it was the same for type writers. Indeed even today some writers prefer a type writer or even pen and paper (quill perhaps?)
But for many cases the quality of life that successive innovation brought outweigh the mechanical joy involved in the creative process. And when the endeavour is a commercial one the argument gets a little harder to justify...
I'm sure people can see how producing text without delete or copy and paste or easy versioning/duplicating makes life harder...
If you can’t code it is
Meh. I'd much rather AI write the boring boilerplate bits so that I can focus on the fun stuff
Edit: Or the bits I don't want to learn about because I'll literally use it once and never again
I predict we are less than 12 months away from the pendulum swinging back to hand coding but dragging ai pair programming into the workflow. This is why I don’t worry too much about this.
I can predict this because I’m building such a thing for myself as are many others. It seems to be where the tao of slop is going.
I didn't bother clicking the article because the title is an opinion, and it depends what you are going for...
If you are going for the joy of coding, obviously it's not as fun.
If you are trying to build a bunch of shit quickly, it's way more fun.
And before a bunch of engineer retards chime in and say good things can't be made quickly, you are wrong, most things can.
Nobody is going to pay you to write code by hand when an agent can do the job faster and most likely better.
I really love my horse and carriage over that really fast car that gets someone from point A to point B with 100x speed, said the Amish with a heart full of honesty, and he was subjectively right.
I've been programming for fun for decades, at work and at home. I have no desire to have someone or something else write my code for me. However, I've managed to convince ChatGPT that I like to be mentored in a way that allows me to build intuition instead of just having the answer given to me (or worse) the code to build it. I'm building something like AlphaZero in C in my own way without any third party libraries, going my own way, building it as I go along and discussing how it all works with the AI. I find this even more fun than just trying it on my own.