Vibing & Coding
Matt Birchler is asking people not to call him a Vibe Coder:
I am an app developer, not a vibe coder, and I think this is a significant, and increasingly common workflow for all developers going forward.
I am sure the term "vibe coder" was born of derision from traditional developers. It's meant to belittle people who use AI to write code without understanding what's happening underneath. I somewhat understand it, I’ve seen the joke posts about SAAS going wrong because the ‘developer’ had no clue what they were doing. Yet it goes much deeper, The gatekeeping is strong with this one.
Unfortunately for those clinging to their gateposts, the world has changed and the label has started to stick to anyone using AI tools to ship software. So I understand why Matt wants to distance himself from it. He's been building apps for a while, produced lots of them, and they all seem well received. He understands the platforms, technologies, and design principles he's developing for. He's not just typing prompts and hoping for the best. However the need to justify this at all feels like a symptom of the problem rather than a solution to it.
The line between "vibe coder" and "developer who uses AI" is blurry at best, and I suspect it says more about who's drawing it than any meaningful distinction in practice. Matt argues there's a significant difference between someone who understands nothing and someone who directs AI with expertise. True, but that sounds like every tool humanity has ever adopted. Some people use power tools well, others cut their fingers off. We don't create special derogatory categories for competent versus incompetent usage of table saws.
What Matt describes sounds a lot like what product managers and owners do every day: using natural language to get a product to a desired form. You have a vision, you understand the constraints, you direct the work, and you iterate until it matches what you wanted. The coding part is just the medium. Making a product is just one long stream of compromises and decisions based on the information you have. That doesn't change because the tool you're using is Claude or Cursor instead of your own keyboard fingers.
I speak from some experience of imposter syndrome in this area. I started learning to code a couple of years ago and built Micro Social almost by accident. I barely understand some of the developer documentation, but I shipped an app that people use, and I did it with considerable help from AI tools. Am I a vibe coder? I genuinely don't know. The voice in my head that says I don't belong in the developer world doesn't particularly care what label I apply.
Maybe the real issue is that labels often give us comfort. They let us sort ourselves into groups and feel like we belong somewhere. "I'm a developer" sounds better than "I'm someone who tells AI what to build" even if the output is identical. People write whole books simply so they can call themselves an Author. Our need to classify ourselves runs deep, and the technology world loves its tribal identities more than most.
But the output is what matters. If Matt ships good apps that people find useful, the process by which he created them is interesting but not definitive. The apps either work or they don't. Users either find value or they leave. No amount of hand-wringing about methodology changes the thing sitting on someone's phone.