Amanda logo mark
← Back to all posts

2026-09-19·8 min

Vibe Coding: The Fun Parts

An exploration on using AI without losing yourself in the process.

  • AI
  • Software Development
  • Developer Experience
  • Generative AI
  • Programming

I keep hearing the sentiment "AI takes the fun out of programming," and when I see everyone saying the same thing, I can’t help but want to challenge it. I'm the kind of person who enjoys looking at a debate from all perspectives. I've been using AI in my work and personal life for a while now, and I've felt both sides of that coin, which got me thinking about the times it has been unenjoyable versus the times it’s brought me genuine delight.

Before we get into it, a quick note that I'm probably using "vibe coding" fast and loose. I know many people use it to describe accepting whatever the AI gives you without really reading it. Full disclosure: sometimes I read the code, and sometimes I don't. I know, I'm committing the ultimate faux pas by admitting this out loud.

How AI has improved my work

A creative partner that can quickly provide several iterations of my ideas. Coming up with my own website designs has never been one of my strengths. I have a lot of respect for UX designers because coming up with creative and unique layouts that are also intuitive isn’t an easy job. I have spent countless hours agonizing over mock ups in Figma and they hardly ever ended up looking the way I imagined it in my head. A lot of the time those sessions would end in defeat where I go find sites that inspired me and would copy them. I have a ton of ideas, and I'm not always sure which ones are worth building so this is an area where I think AI has provided me a lot of value. Giving me a base to start with allows me to start moving more quickly than when I am paralyzed with the “blank piece of paper”.

A research assistant who can give me lots of ideas to chew on. In the beginning phases of a project, I use AI to brainstorm ideas and find out how other people in that space are already approaching the task I’m working on. I’ve recently discovered NotebookLLM and have used it to research for presentations and interview prep. I’ve also used it to give me the highlights on content I’ve already consumed and didn’t have a chance to take notes. In the past I would have had to go back and rewatch a YouTube video or try to fumble around to figure out where the good parts were, which has saved me a lot of time.

A sparring opponent who can help me find the blind spots and errors in my thinking. Once I have a solid idea for a new blog post or a product design, I can start discussing the idea and not only make the AI adversarial with me, but also against other AIs. I’ve found using this approach is much more effective at getting ideas that are much more creative, unique and solid than just going with the first (or even second) idea I get from the research phase.

A teammate I can delegate the monotonous or unrewarding work to. Writing up a README based on a product spec I’ve already laid out. Monotonous tasks where I’m not learning anything new, like building out JSON objects containing a bunch of key value pairs. Styling a landing page that a user sees once before they sign up and start using the product. Places where no one really cares about the code - just that the thing works. It was hard for me to even let go of those tasks until I realized I would rather spend that time learning how to set a photo upload feature using Cloudinary or how to run Postgres with Docker locally.

A teacher who can challenge my work and fill in gaps where I might not be an expert. I've created learning programs in Claude Code that will walk me through learning new concepts or refreshing ones I haven't used in a while. I like to use it Socratically, to give me a similar experience to when I worked at a coding bootcamp. Rather than taking a course that someone else built based on their needs, I can build custom curriculums based around what I want to learn using methods that align with how I learn best.

A way to practice working in someone else's code. Most of the time, professional software work isn't greenfield development. You’re usually stepping into an existing codebase, figuring out how someone else thinks, and trying to make your changes fit into patterns you didn’t create. I'll build the scaffold for something myself, hand off a small task to the AI Agent, and see how well I can work inside a pattern that isn't mine. It's good practice for the parts of the job that are less about building from scratch and more about understanding what's already there. And honestly, I suspect the fact that I find this so much fun might say more about how much I miss working on a team than it does about AI. There’s something enjoyable about the friction and collaboration that comes from another person making decisions you wouldn't have.

How AI has made my work less fun

Using it to build one-shot projects. I've tried this a few times, and every time I end up opening the app locally once, playing around with it, and never coming back to it. Most recently I tried this when building my personal blog site. I wanted a way to write blog posts that were stored directly in a GitHub repo that could be rendered to a website. I asked AI to come up with a solution and it generated a WYSIWYG editor that would save rich text as markdown directly to a GitHub repo. I used it a couple of times and then abandoned it to build my own idea after running into several bugs with the editor that turned out to be a limitation of the tech stack. I ended up hand coding a Svelte app using gray-matter and marked to render the markdown files, plus a Python script that generates a new markdown file with the frontmatter template pre-configured. The time was not wasted, as this is an example of how AI is a great brainstorming and research partner, but I genuinely went into that session believing that I could one-shot a solution that I was going to be happy with. I learned that I tend to prefer to choose the tech stack and base architecture of projects that I am building from the ground up. I also learned that I preferred writing the blog posts in markdown (as any self-respecting developer should). In the end it was a good experience because I gained the wisdom that there is a fine line between prototyping ideas and just spitting out a project that was entirely AI generated.

Allowing it to do the entire design without any iteration or modification. Another failed attempt was when I tried using AI to redesign my previous portfolio site. While it did improve upon my first design by making it look more polished and professional, it also sucked out every ounce of my personality. Everything I liked about the original site I had started with was gone, replaced by a clone of what could be anyone's portfolio.

I write my own content. While I may use AI to help me brainstorm and research, I think it’s imperative to write my first draft entirely on my own. I only use AI for help with editing that work for typos and help with semantic flow. As tempting as it can be if you’re someone who wants to put out a lot of content, writing is a skill that requires practice and will only improve with reps. Overly relying on AI to come up with your content will just lead to generic, uninspired content that lacks authenticity and a voice. I’ve used AI enough now that I can easily spot when someone else used it to write their content and so I assume that other people could spot when I am too. It immediately makes me less inclined to keep reading it and I’m sure I’m not the only person who feels that way. I would rather read something that feels like it came directly from a person, even if it is a bit clunky or imperfect. I have a feeling we are all craving more content like that which is one reason I’ve decided to start writing more.

Right now I’ve had the privilege to put my focus on personal projects. Professional work comes with a lot more pressure around velocity, and that’s where I noticed my resistance to AI-assisted coding the most. I think the way many companies are asking their employees to use AI exposes the efficiency fallacy that is leading to developers feeling burned out and lacking the joy they used to experience from the work. I know when I went to school to become a software developer, it wasn’t because I imagined it would be reading 1000s of lines of code or QA testing work generated by a machine and I’m sure you didn’t either.

Final Thoughts

I think the common thread I found as I wrote this is learning how to use AI to remove the parts I'm not interested in without becoming over-reliant on it as a crutch to do the thinking for me.

I'm discovering that, for me, the “fun” of coding is really the sense of pride I get from learning something new, understanding how it works, and feeling like I am allowed to take credit for the outcome.

When those things are removed from the equation, I lose my sense of participation in the process. I’m left feeling like I don’t know where I contributed anything meaningful and that anyone could have come up with the same outcome using a similar prompt.

This post was mainly a thought experiment and not my final opinion on the subject. I'm curious to know how AI has changed coding for you. What are the parts you enjoy versus what are the parts you don't? I'd love to hear your thoughts, so feel free to reach out and start a conversation.