- Emergent AI
- Posts
- Vibe coding is more than just vibes
Vibe coding is more than just vibes
Why you should care about vibe coding.
This week, I want to talk about vibe coding.
🎯 tldr
Vibe coding is changing how software gets built. Rather than needing to deeply understand programming and systems thinking, developers collaborate with AI to create code based on intent. This simultaneously democratizes software development, accelerates developer productivity, introduces challenges for enterprise teams, and reshapes how software engineering is taught for future generations.
The unhappy center
Table of Contents
🧐 What Happened
Andrej Karpathy, a leading & influential AI researcher, popularized the term "vibe coding" to describe how he sometimes writes code: by collaborating iteratively with an LLM, often without needing to understand the full underlying mechanics - and, it mostly works.
I distinguish vibe coding from code-assist. While they exist on a spectrum, they are distinct: code-assist refers to LLM-based tools that developers use as accelerators - not as replacements for foundational software knowledge.
Vibe coding, and code-assist more broadly, has propagated throughout the entire data and software ecosystem, resulting in the rapid growth of vibe coding (i.e. no/low code) tools like Lovable and Replit, and code-assistants like Cursor, Github Co-pilot and Windsurf.
This has enabled non-technical people to participate in software development, and made software developers more productive - both of which come with benefits and risks.
💡 Why It Matters
Vibe coding, and AI-assisted coding in general, has exploded faster than any other software technology in my lifetime. The LLMs went from unhelpful to writing entire (working) codebases in a matter of months. Check out Lovable's growth:
Image pulled from: Growth Unhinged
While the growth rate will come down to earth, it points to the potential such tools have. And this isn't simply for non-technical people. Cursor and Windsurf, two very popular code-assist tools for software developers, are valued at $2.6Bn and $3Bn (the latter by OpenAI) respectively. These tools weren't possible before the recent wave of LLMs.
As mentioned, this brings potential benefits and risks:
Some opportunities:
Speed to Market: Projects that previously took months can now often be completed within weeks.
Wider Participation: Non-engineers can begin contributing to technical projects through natural language interfaces with AI. Think prompt-engineering but for creating software applications.
Focus on Higher Value Work: Developers can spend more time on architecture, strategy, and problem-solving, rather than boilerplate tasks.
Risks to Manage:
Quality Control: Recent research shows that code-assist tools hallucinate up to 22% of the time. This isn't a surprise and has been replicated in many studies in the past few years.
Maintenance Complexity: AI-created code bases are harder to reason about (they're massive and inefficiently constructed, according to human coding standards), making them challenging to troubleshoot and maintain. Some people argue that AI-generated code bases only need to be reasoned by AI (which can do so in seconds), so their complexity is irrelevant. I'm not convinced, yet.
Knowledge Gaps: Over-reliance on AI assistance will weaken fundamental programming skills across development teams. I personally have forgotten a lot of Python and SQL syntax since I can simply ask the LLM. I think this is a good thing for coding in general, but there may be unintended consequences.
✅ What It Means for Your Company
I believe there are (at least) two actionable insights here:
Embrace vibe coding. Meet non-technical participants where they are, enabling faster prototyping and broader participation in the software conversation. This starts with prompt-engineering training, and extends to tinkering with workflow automation like n8n and Zapier.
Institutionalize code-assist. Require the use of tools like GitHub Copilot and Cursor for technical teams, ensuring developers focus on high-value work (systems thinking and design) rather than repetitive coding tasks. How they use these tools can vary.
Just like your workforce is using "shadow GenAI" where available, your technical employees are using code-assist where possible. We need to lean into this in a thoughtful way, including:
Developing specific policies, more nuanced and technical than a generic acceptable use policy (AUP)
Training your teams in how to use these tools responsibly
Establishing best practices and norms to act as guardrails
Sharing insights and learnings across your technical teams
👀 What We're Watching
Unlike other potential AI fads, vibe coding and code assist is the original and most durable use case to date. We're watching how other companies augment their software development with code-assist and how best practices are evolving over time, especially at scale and in a compliant manner. We're also watching how companies, like Google's Deep Mind, are countering the risk of hallucination and prompt-injections.
The best way to get started? Pick a workflow (e.g. newsletter summarizer, agenda setting for your calendar, automated reminders) and build an app to automate it!
Reply