How a well-intentioned prototype, an awkward Google Meet moment, and a little humility taught me the difference between vibing and AI paired programming.

The Incident and Touch of Humanity

I work with an incredible engineering team at Neo4j. Our DevRel engineers are no exception, but they’re also very busy. I’ve been working on a community forums “game changer” that requires collaboration with one of my software developer colleagues. I thought I’d prepare by sharing a prototype, my “bit of vibe code”, to show what a possible solution could look like.

I was excited. For a moment, I thought I was building something special, or a spark for sharing a prototype worth collaborating on. I vibed hard. The UI front end looked pretty good for what we wanted to accomplish.

And then IT happened. My engineering colleague opened the doc.

Then came the look… Followed by a long, awkward silence that sucked the air out of the virtual room.

Finally, he said, trying to be polite but referring to some of the code I’d written:

“So, we need the ID to be able to identify the user… like, the code that you’ve got here… did you generate that with Claude or ChatGPT or something?”

“No, I wrote that by hand… with no engineering experience whatsoever.”

I tried to joke to lower the room temperature. Not funny. More silence.

Then he started walking through all the flawed backend security code I’d added, none of which had anything to do with what I actually wanted to discuss. I just wanted to show him my UI and get his thoughts on whether it had value.

He continued:

“Um, so I’m being honest. I’m finding this quite frustrating. It’s the kind of vibe-coded approach that’s only going to end up with more work for me in the long run.”

Some Context… Not Excuses

When the term vibe code became popularized by Andrej Karpathy earlier this year, it clicked for me. Maybe I could start finally bringing some of my ideas to life. Things I’d normally need a software developer to do.

10 PRINT "Hello!"
20 GOTO 10

That’s about as far as I got with my coding career.

What I didn’t realize while preparing for this call was that my attempt to help actually detracted from the goal and could have unintentionally built a wall between myself and the engineering team. I never thought I’d built a secure application, but noble intentions aside, I messed up. Big time.

Reflection… Did I Save Time… NO!

I’ve spent my entire career admiring, advocating for, and promoting the skill set of developers. So how could I have shown such a lack of respect for the art and craftsmanship that goes into software engineering, even unintentionally?

  • Showing a fine artist a finger painting and calling it a collaboration.
  • Handing a surgeon a multitool and saying, “This might help.”
  • Submitting a bridge concept drawn in crayon to a structural review.
  • Walking into a jazz quartet with a drum machine set to “demo mode.”

The good news: I was in a safe space with a trusted colleague. A few days later, I called him back to sincerely apologize. He apologized too, saying maybe he’d been too blunt, but I disagreed. It was a much-needed lesson for me, and maybe one for anyone reading this.

AI may be known for hallucinations, but let’s not hallucinate ourselves into believing we can plug something into an LLM and suddenly call ourselves experts.

Engineers are connoisseurs. They don’t just build; they curate. Each line of code carries intention, security, and beauty. They see risk where I see rhythm. I painted with broad strokes, skipping the fine details. And the real engineer? They weren’t dismissing me. They were protecting the canvas.

The Takeaway from the Watershed

So yes, spoiler alert: your vibe code isn’t impressing engineers. But that’s okay. Sometimes, the most valuable feedback you’ll ever get isn’t praise; it’s a sigh, a silence, and a moment of truth that helps you grow from vibing to building.

My personal takeaway: the word vibe feels so casual. Coding is anything but. If you’re not a technologist (like me), you’re a vibe coder. But when a software engineer uses a GenAI tool, that’s AI paired programming.

Originally published on Medium and IVibeCode.ai, October 2025.