
The One-Man Band: Vibe Coding
I spent my teenage years playing the guitar in garage bands. It was the 00s - guitar music was back in style, and I thought I was stylish. Hours every night were spent alone in my bedroom learning how to produce an ever more eclectic range of sounds out of this electrified piece of wood.
Then on a Saturday afternoon, what I ingrained into memory was unleashed on the local neighbourhood as the band got together in our drummer's garage. We went through our repertoire of cover songs and original tunes with the sole aim of being as polished as we possibly could for our gigs.
Live audiences! That's what this was all about. Sure, we weren't the best, but we were learning, and most importantly it was fun. Banding together, and for a few hours on a Saturday I could forget about the hecticness of adolescent life and become a guitar hero.
Although I still dabble in the guitar - the dream of becoming the next big thing has faded with time and I now spend my days exercising my fingers on the keyboard rather than the fretboard.
I often wonder how much of the products I have built over the last decade have improved because of the repetition I got from coding, the sitting in rooms with other coders and just figuring things out. You learn more when things go wrong than when they go right. Just like those teenage days of figuring things out on the guitar and playing with others.
And how much of that was just a total waste of time?
The need for all the differing design principles such as micro-services, domain-based architecture, and software engineering frameworks. The need to plan in detail every little variant of a new feature because the codebase was so huge, and the number of people working on it would spell disaster if something went wrong during development?
When the trend of "Vibe Coding" dropped this year - I was sceptical like the rest. How can AI code more effectively than someone who has been at this for years? The promised land of a human just typing a few lines of plain English into a prompt and getting a full working program output… from Idea to Product in hours.
And I was right to be sceptical.
We are not quite there yet - but we are closer than we have ever been. I have spent the last month coding on the Cursor IDE and it has increased my productivity 300% when building things on AWS. I am no longer the lead guitar player in a 3-piece band. I am the conductor of a large symphony orchestra. I can take an idea, orchestrated through prompts so Cursor writes all the code - and with some tweaking I have a full working codebase. However, it's not all Sunshine (Of Your Love) and (Guns N') Roses.
It's been a learning curve. I cannot just type a prompt and trust the code the AI model outputs. And I certainly cannot just type prompt after prompt and assume the AI model has full understanding of what is going on. And yes, I have spent hours going in circles when I haven't checked the changes the AI wants to make properly.
Instead, much like that conductor of the symphony orchestra, I approach each feature like a piece of music. I plan out the structure in my head, and I know when I want the different instruments to come in. How they should sound, and in what timing. However, instead of instruments we are using different coding languages and frameworks. And this is the kicker at the moment.
You need to know what these languages do, how and when they should be used, and the fundamentals of how they work.
You cannot use Cursor to code a front-end UI if you have no experience of Node.js and expect it to be able to debug itself. Much like that conductor, you need to understand each instrument and how to correct the player when they aren't performing the way you want.
After 10 years, I have a lot of experience across numerous libraries and frameworks - but other less experienced individuals will find it tough going for now. However, find solace in the fact that over time this will improve and the less experienced performer will be able to code an even higher standard of application.
I don't see the uptake in AI coding tools as a threat to developers who embrace them. Instead of fearing them, use them. You will increase the rate at which you can code. And if you are in the start-up world you should be vibe coding 100% of the time.
It will allow you to release features more quickly. You won't be as personally invested in the codebase when you need to scrap giant swathes of it. Plus the cost of development will dramatically decrease. So, who cares if you just delete a whole 10K lines of code that took 5 mins vs days to write?
We are currently in the era where you need to be a classically trained musician to get the most out of vibe coding. But, much like music itself - we are progressing fast. Soon those teenagers in their bedrooms will be able to produce the next hit record.
And besides, I prefer heavy metal anyway.