Does LLM-assisted coding take the fun out of creating software?
With the advent of AI, deploying applications is more accessible than ever. Lacking knowledge of coding is no longer a barrier. Dubbed ‘vibe coding’, anyone can use LLMs to generate code and even deploy it by describing the project they want.
However, AI coding has not been perfected yet. The software built with LLM assistance from many inexperienced coders and non-technical people alike cost more money to fix than hiring a human, with services popping up to fix vibe-coded messes.
Despite this, many developers praise LLMs for taking out tedium in coding and debugging. They are easing more into roles of “AI babysitters”. AI has also enabled more experienced developers to ship more code, shipping more than half the amount than junior developers. From the survey in linked article, this is because senior developers are more likely to spot errors. They also found that 80% of respondents said AI makes coding more enjoyable.
An article by Mattias Geniar boldly states, “Web development is fun again". Nowadays, web development is complicated, with a plethora of framework and backend choices to choose from, and that only continues to grow. Geniar says tools like Claude and Codex levelled the playing field. He can leverage his previous experience with multiple developers to focus on creating faster without getting caught up in the complexity.
As someone who also remembers back when the biggest worry about web development was Internet Explorer 6 compatibility, I can also see where Geniar is coming from. It’s actually why I use a static, hand-coded site for my portfolio and why I chose a lightweight CMS for this blog. My choices were deliberately focused on what made things simpler for me, so I could focus on the ‘fun’ part.
But what is the fun part? Developers have widely different answers, which has been more readily exposed with AI coding.
On the discussion on Hacker News about Geniar’s article, someone commented that AI enables more people who have settled into management roles or lack free time to code again:
Something I like about our weird new LLM-assisted world is the number of people I know who are coding again, having mostly stopped as they moved into management roles or lost their personal side project time to becoming parents.
The top reply is in disagreement:
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.)
…
This sparked a longer discussion about what aspects people found fun about coding. Many people claimed the act of coding itself is what's fun, and AI coding took that away from them. Others claimed exact syntax was tedious, and it was the art of figuring out how to make things work, or having the thing as it was created was the true fun part:
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.
…
My kneejerk reaction is to agree with the top reply, which is how I generally code. Call me crazy, but I enjoy the process of manually writing code. I love optimizing and refactoring code. I love focusing on performance and finding places to shave off milliseconds. I love spending time in a stack trace to find the source of a bug. If I don’t end up with anything usable after a session of coding, I still feel satisfied. (I also enjoy reading hard books, doing expert-level killer sudoku, and cleaning grout on the bathroom floor with just a toothbrush. Alright, I’m lying about that last one, but I feel many people may classify that activity at the same level of enjoyment as the others I just described.)
I think if you want to create something, particularly as a career, but you don't want to do the actual creative process, that you should strongly reconsider whether or not you are suited for that. AI musicians and AI artists come to mind. I have seen it compared to ordering McDonalds and calling yourself a chef. I have likened vibe coding with people conflating themselves to be creatives who do little more than type out a prompt.
However, I've come to the conclusion that the other viewpoint is also valid. Depending on how much the vibe coder contributes to describing the technical specifications and alter the code, they are still engaging in the creative process. I think of it as buying paint to create a painting, as opposed to creating paint pigments from scratch, or using a pre-mixed paint instead of mixing it yourself. There are tools that make tasks easier to varying degrees. AI is a tool, first and foremost, and fearmongering does no one any favours.
!['Will [ ] allow us to better understand each other and thus make war undesirable?' is one that pops up whenever we invent a new communication medium. Simple Answers](https://imgs.xkcd.com/comics/simple_answers.png)
It’s also hard to argue with the feeling of satisfaction with having something after previously having had nothing. There is skill in designing software. The exact pipelines and frameworks used may not be as important as the overall design itself. There are many roles and parts to developing software.
There is definitely a point where the AI coder has contributed little more than ordering at a fast food drive through, but to people who know what they are doing, there is the fun and challenge of design and adjusting outputs. Not finding manually writing code fun doesn’t preclude an enjoyment of software development itself.