Vibe Programming for Dummies
You might have heard the term Vibe Coding. Computer scientist Andrej Karpathy, a co-founder of OpenAI and former AI leader at Tesla, introduced the term vibe coding in February 2025. The concept refers to a coding approach that relies on LLMs, allowing programmers to generate working code by providing natural language descriptions rather than manually writing it. The concept of vibe coding elaborates on Karpathy's claim from 2023 that "the hottest new programming language is English".
After waking up at 5:30 this morning I set myself a challenge to see if I could write an article generate images and create and launch a website in under and hour!
I still remember the thrill of my very first foray into the world of programming. I was 7 years old, and the year was 1984. It all began with a Commodore VIC20 – a machine that, despite its humble origins, opened up a universe of possibilities.
I’d painstakingly copy BASIC code written in a little book into the console of the VIC20, which was plugged into an old colour TV in our dining room. Back then, finding a single type error was a formidable task and I could waste hours copying in the code only to get to the end and have it not work.
My early adventures soon led me to acquire an Amstrad 1640 running the GEM operating system. There was a certain magic in the air during those days – the delightful clarity of EGA graphics, the immersive turn-based adventures from Sierra that brought stories to life, and the unmistakable thrill of installing a SoundBlaster card. I’ll never forget the moment I heard a voice emanating from my computer speakers for the very first time, courtesy of the original Ghostbusters game.
Another remarkable innovation was the hand scanner I used to digitise photographs. Watching my snapshots appear on screen and then manipulating them with early graphics programmes was nothing short of revolutionary. I even dabbled in creating short videos that morphed images together, reminiscent of that iconic Michael Jackson black and white video of the era.
After a period of pausing my programming endeavours, the scene changed dramatically in 1995 when I started university. The arrival of Windows 95 heralded a new era, complete with the first video I’d ever seen play on a computer – Weezer’s “Buddy Holly”. That year marked my reintroduction to coding, this time with Pascal. I relished the process of transforming a concept into a functioning programme, learning the basics of for loops, variables, and if statements. One of our earliest creations was a simple game called Bazza Ball – essentially a pong clone featuring the face of my friend Barry.
Those were the days when you learned to programme through books. Without the vast online resources we take for granted today, a bug could leave you stumped for hours, even days. I often found myself calling on a friend for a second pair of eyes as I tried to decipher what was going wrong – and in Pascal, a working debugger was a luxury we didn’t yet have.
In my second year at university, things took a more serious turn. We switched to C++, and I was introduced to the complexities of pointers, memory allocation, object orientation, inheritance, and classes. Simultaneously, I began to grasp database design, the singleton pattern, and referential integrity. These lessons laid the groundwork for the breakthrough moment when I co-founded with four friends a web hosting company that put databases online with a web front end – a revolutionary concept at the time.
As my career progressed, I transitioned from solitary coding to team-based development. We began leveraging tools like Visual SourceSafe, object-relational model frameworks, and model–view–controller patterns. There was always a division between what lived in the database as stored procedures and triggers – an area where I felt most at home – and what resided in the code. Soon, data integration and transformation became essential as systems started to electronically share inventory data, process orders, and even venture into the early days of online commerce.
This era also saw the birth of SOAP and the WS* suite – early web services that set the stage for today’s APIs, enabling secure and controlled platform integrations. I started embracing programming aids such as ReSharper, linting tools, and the concept of code reviews, which gradually became a staple in our development workflow.
The evolution didn’t stop there. In both web and application development, the UI layer underwent a transformation. We moved away from handcrafting every element in HTML and JavaScript, embracing UI frameworks that supported CSS and offered ready-made components like date pickers and form validation controls.
After years of hands-on software development, I shifted my focus towards engineering leadership and the burgeoning fields of data science and machine learning. However, the call of building tangible software products never left me. With the advent of Vivara and the renewed excitement of product development, our small team began harnessing the latest coding support tools.
Just a year ago, we started utilising GitHub Copilot and OpenAI’s coding tools. Over time, these models have evolved to construct, analyse, and refactor code with remarkable precision. I’ve had the opportunity to build small experiments, spiking code in Python – my language of choice – while also leveraging Node.js for some components, and developing the majority of our platform in .NET, alongside native iOS and Android applications. The impact has been transformative, boosting our team’s productivity by a factor of five to ten.
Today, it’s not uncommon to point to an API without a published SDK and have it analysed in moments to show exactly how to integrate – a task that once took hours of manual work. I once believed that a career in software engineering was a safe and secure choice when I embarked on my journey in the late ‘90s. I couldn’t have imagined, however, that it would eventually be one of the first professions to be disrupted by automation. Nonetheless, decades of experience in building software systems continue to serve me well, especially when it comes to crafting the right prompts and knowing precisely what to ask from these intelligent machines. Read my friend Mike's post on What is Hypervelocity Engineering?
Looking ahead, the next evolution of “vibe programming” is on the horizon. Soon, we may be instructing agentic agents to construct entire systems from our ideas. Platforms like lovable.dev and Manus are already hinting at a future where no-code solutions live up to their long-promised potential – reminiscent of Microsoft Popfly.
Reminiscing about BASIC programming with the VIC20 gave me an idea, I wondered if I could use lovable.dev to create and launch a website that recreated the classic sounds of the VIC20 and also allow you to create your own sounds using the VIC20 Basic language.
Twenty minutes later let me introduce you to VIC20SOUNDS.com a fully functional website with a .com domain.
The hardest part was actually getting the logo designed the way I wanted it despite providing the CSS to the model it still couldn't make it work so in the end I jumped into GitHub and made the edits myself after four or five tries of the platform not getting it right.
The same was hilariously true for creating the anime image above of my parents and me using the new image creation and editing capability in ChatGPT see below:
I am enjoying where this is all heading, but I must admit that I don't love "Vibe Debugging" as much as I love "Vibe Coding" and thought of "Vibe Created" platforms getting their first pentest send shivers down my spine.
Principal Enterprise Architect at DXC Technology
3moLove this! How do I tell Linked in algorithm I only want to see posts like this in my feed and not the rest of personal branding noise!
Data and Analytics Leader
4moSoundBlaster cards, Singleton pattern… that’s the “old world” I remember well. Thanks for the article Nigel! I’ve seen the term Vibe Programming in a few people’s posts and comments recently but hadn’t done the mahi to find out what it really was. Glad to have read your article. Informative and thoughtful as usual. Love that you recreated your VIC20 experience 👏
Mission-Driven Tech Leader | Architecting Equity Through Innovation | Former CTO | Microsoft Veteran | Nonprofit Champion
4moI loved Microsoft Popfly. I actually got the source for it when it was being sundowned and rewrote the infrastructure part off of the Microsoft owned hardware to shared hosting. I worked on getting it ready to be released under a OSS license. Unfortunately, this was EARLY days when Microsoft was still looking sideways at OSS and we couldn't come up with an internal $40k for legal to review it for potential patents.
Account Technology Strategist - Microsoft
4moAwesome mate, love this
Technical Director – Infrastructure & Cloud at Information Leadership
4moLove it. Combining Vibe with Model Context Protocol (MCP), and you can see how Skynet comes into being ;-)