Vibe Coding: For Whom? How? When?

Vibe Coding: For Whom? How? When?

As a lawyer turned software engineer who learned to code in my late 30s to keep my startup alive, I have directly witnessed the seismic shifts in the coding world over the last decade.

I'm excited to explore the latest paradigm: "vibe coding," a term coined in a recent tweet by the renowned Andrej Karpathy.


Video Podcast

Or listen on Spotify


Before we dive in, let's appreciate the source of this concept. Andrej Karpathy is a titan in the world of artificial intelligence and deep learning (check out his Github).?

With over a decade of experience at the forefront of AI research and development, Karpathy has left a lasting mark on the field. He's best known for his work in computer vision, neural networks etc. As the former Director of AI at Tesla, where he spearheaded the development of autonomous driving systems.

Karpathy's deep technical expertise and years of hands-on engineering make him uniquely qualified to identify and name emerging trends like vibe coding.

And here’s the key point:? all that experience also makes him capable of using it.?

Vibe coding is the technique of leveraging Large Language Models (LLMs) to generate code based on high-level descriptions or "vibes."?

It's like having a gifted member on your team translate your engineering vision into functional code very fast.

How Vibe Coding Differs from Traditional Coding:

  1. Outcome Driven: Traditional coding requires the coder to make thousands of keystrokes typing out the code. We describe the outcome and it does the typing for you. When you’re good with your instructions it can even design the code effectively.
  2. Natural language input: Because vibe coding interprets high-level intent from natural human language, vibe coding allows for more conversational prompts rather than strict syntax.
  3. Rapid iteration: Vibe coding can generate and refine code much faster than manual typing.
  4. Contextual understanding: LLMs can infer context and best practices, unlike traditional IDEs.
  5. Multi-language fluency: Vibe coding can seamlessly switch between programming languages.
  6. Reduced/Eliminated Research: The developer is not switching multiple windows and tabs to research syntax, approaches, design patterns, API documentation etc. The LLM synthesizes all that and does it much faster than a human can.

Having vibe-coded for some time now, I can confirm it is a game-changer. It's like you’re the chef and you’ve got a savant sous-chef - someone who understands your vision and can execute complex tasks with the right instruction.?

But there’s a catch.??

You’ve got to be experienced enough to know what you want, know what you don’t want, and recognise bad output.?

Here's why it's fantastic for seasoned pros:

  1. Reduces drudgery: The boring parts of engineering, all the “scaffolding”, environment setup etc,can be done in minutes, not hours.
  2. Focus on architecture: Spend more time on high-level design and less on boilerplate.
  3. Benefits of pair programming: Done right, you and the LLM can discuss and explore patterns, approaches, techniques and the codebase as well.
  4. Continuous learning: when your fundamentals are strong enough, you can learn new things very fast because the research time is exponentially reduced by the way LLMs synthesise data from multiple primary and secondary sources.
  5. Rapid Prototyping:? It’s very fast to do “spikes” where you put together throwaway code as you iterate through an idea. It dramatically compresses development cycles.

However, for novice engineers, vibe coding is a siren's song - alluring but very treacherous. It's like giving a novice driver the keys to a Formula 1 car. The power is intoxicating, but without the foundational skills, it's a recipe for disaster.

The dangers for inexperienced engineers include:

  1. Dependency crutch: Relying too heavily on AI, stunting personal growth.
  2. Lack of understanding: Building without grasping the underlying principles - this inflates the Dunning-Kruger effect which humans are prone to anyway , and which leads to disastrous professional and interpersonal consequences
  3. Debugging difficulties: Struggling to fix issues in code they didn't write. Many inexperienced devs cannot reason through the code that AI generates but which has bugs in it.
  4. Technical debt: Accumulating poorly structured or designed code that becomes hard to scale, manage, debug and maintain

Why Vibe Coding Favours The Experienced?

There are many compound skills that go into a profession and software engineering is no exception. I’ve known lawyers with brilliant analytical minds but poor communication.? Or vice versa.??

I’ve known fantastic technical engineers who struggle to understand business concepts or customer needs.? And vice versa.

Software engineering is about compound skills too and AI shifts the balance of skills needed. ? Experienced coders benefit from Vibe coding because they possess the following compound skills (and inexperienced coders can be expected to suffer due to the absence of these skills)

  1. Pattern recognition: Seasoned engineers can quickly identify and correct AI-generated anti-patterns.
  2. Architectural insight: Experience allows for better high-level prompts that lead to well-structured code.
  3. Debugging prowess: Veteran coders can efficiently troubleshoot AI-generated code.
  4. Quality assurance: Experienced engineers can critically evaluate and improve AI outputs.
  5. Ethical considerations: Seasoned professionals understand the implications of AI-generated code in production environments.
  6. Experienced engineers are far more likely to know when to challenge the AI and how to interpret its obsequious responses. When challenged, the AI, which is trained for ultra politeness, will start to make up contrived excuses and accept that it’s wrong even when it’s right. This can be devastatingly confusing if you’re not able to figure it out for yourself.

Note: In the video podcast of this blog I show you an example of this!

As with any powerful tool, the key lies in how we wield it.?

Experienced engineers can use vibe coding as a force multiplier, amplifying their existing skills and knowledge. They know when to trust the AI and when to dig deeper, much like a master musician who knows when and how to improvise and when to stick to the score.

For those just starting their journey, my advice is this: Learn to walk before you run. Build a solid foundation in programming fundamentals, data structures, and algorithms. Understand the "why" behind the code, not just the "what." Use AI as a learning tool, not a crutch.

At the Inner Circle Program (more links to short webinars are in my bio), we emphasize fundamentals over a sustained period of time and then train people on the safe and appropriate usage of LLMs. LLMs must be used as though they’re an employee that you must supervise and are accountable for. You’re the boss!

In conclusion, vibe coding is not a replacement for expertise; it's an enhancement of it. It's a powerful ally for those who have paid their dues and mastered their craft.?

For the newcomers, it's a glimpse of what's possible - a goal to work towards, not a shortcut to bypass the learning process.

The future of software engineering is bright, and vibe coding is a testament to how far we've come. But remember, in the world of code, there are no shortcuts to true mastery. Embrace the journey, and let AI be your assistant, not your replacement.

What has your experience been with vibe coding? I’d love to know, so please drop ‘em in the comments!



In 5 years, people who can actually code will be like cobol programmers in 1999.

Crystal Gomes

Technical writer | Cloud, AI, and Web3

3 天前

The image perfectly captures the "vibe" in vibe coding ?? well done on your prompting

Rayees Ali

SDE Intern @ IT Jobxs | TCS CodeVita Global Rank 5028 (4th in College) | 250+ LeetCode | 50+ GFG | 5? HackerRank | Java (JDBC, Spring) | Web Dev (HTML, CSS, JS) | Coding Contest Runner-Up | CS '26

3 天前

Useful tips

赞
回复
Brian Jenney

Software Engineer - I work with career changers who want to switch into tech

3 天前

I was helping a person at a coding bootcamp a year ago (not Parsity.io btw) and they built an impressive app. When I asked how it worked - they had zero clue. As soon as a trivial bug slipped in this React project of hundreds of files they were stuck. AI got them 80% of the way there but that doesn't make them a software developer, it made them a power chat gpt user.

要查看或添加评论,请登录

Zubin Pratap的更多文章

  • Is a Coding Career Right For You?

    Is a Coding Career Right For You?

    The question of whether coding is "right" for someone is a common one, and it's one that I've been asked many times…

    6 条评论
  • Out-Competing Experienced Coders as a Junior Dev: The Secret Weapon

    Out-Competing Experienced Coders as a Junior Dev: The Secret Weapon

    The tech world is sheer joy and purpose and fulfilment for most (not all). Tech roles are highly desired for good…

    1 条评论
  • Becoming my own tech co-founder

    Becoming my own tech co-founder

    Note : this blog is inspired by my recent podcast interview with freeCodeCamp’s Quincy Larson, where we talk about this…

    1 条评论
  • I spend a lot of time with dead people

    I spend a lot of time with dead people

    I’ve been reflecting on the books that have been added to my library the last 3 years. There is a very distinct trend.

    2 条评论
  • What to do if your flight is cancelled — the mind of R. Branson

    What to do if your flight is cancelled — the mind of R. Branson

    This is one of my favourite stories of resolve, ingenuity and resourcefulness. For the last 15 months I’ve been…

  • How learning to code cured me of a "learning disability"

    How learning to code cured me of a "learning disability"

    Full disclosure. I do not have a ‘clinically’ valid learning disability.

    14 条评论
  • Disney and Jobs, and why vanilla ice cream never inspires anyone

    Disney and Jobs, and why vanilla ice cream never inspires anyone

    In my continuing quest to develop my strengths and skills at building and leading teams, I have researched some of the…

  • you CAN give up...if you follow this one rule.

    you CAN give up...if you follow this one rule.

    It’s not often that the modern cult-of-self-development narrative would permit a message like this. And there is a…

  • A new word for 2018?—?Self-full

    A new word for 2018?—?Self-full

    As I leaned back in a comfortable IKEA armchair at home, and watched the vines in my backyard un-selfconsciously inch…

    2 条评论
  • Finding your Truth

    Finding your Truth

    As I get older, it becomes evident that a large number the ‘truths’ I grew up believing are, at best, opinions. For…

社区洞察