Pieter Heijman Web development Creative coding

To all the Vibe Coders out there: Welcome

Pieter Heijman
July 18 2025

In his many books, talks, and blog posts Robert C Martin (or Uncle Bob, as we programmers call him) speaks of programming as a craft rather than just a way to make money. A craft or profession has a shared set of disciplines, ethics, and standards. A craft comes with a set of rules meant to uphold a standard of quality and safety within the field. The field of software development very much lacks those rules and standards. In fact, especially among startups looking to “disrupt”, software development is seen as the Wild West. A frontier where everything is allowed for the sake of progress.

“With that great power ought to come great responsibility. And, indeed, society will hold us responsible when our actions result in disaster.”

A quote from Uncle Bob’s blog post “Prelude to a Profession”

This article is about AI. Because no part of the tech world embraces this idea of software development as a frontier, rather than a craft, like AI has in the last few years. It sometimes feels like every day a new AI based tool appears that disregards its own ethical and societal implications. However, all this cowboy-style development has given us some pretty neat tools, right? We have LLMs capable of answering our questions with a reasonable degree of accuracy, image generators that can produce images that appear photorealistic, there are even AI tools that can do software development. That’s the thing with this Wild West style of development. Yes, you disregard what your product might do to society, but (at least in some cases) you might gain some really cool tools.

The Vibe Coder

In no way do I want to be overly disparaging about AI. While I would have liked to see more discipline and ethics in its creation, there is a genuine opportunity for AI to make our world a better place. So let’s dive a bit deeper into one specific opportunity that AI gives us: generative software development. Or Vibe Coding as the kids are calling it these days.

The idea behind vibe coding is that you don’t write any code yourself. You tell an LLM what your requirements are and let it generate code for you. There are specialized tools for this, but most modern LLMs are already pretty good at this. For instance, the code below comes from Microsoft’s Copilot. I asked for a piece of TypeScript that can take an array and output the values in reverse in the console.

function logReverse<T>(arr: T[]): void {
  arr.slice().reverse().forEach(item => console.log(item));
}

This code works just fine. In that it does what I asked it to do. Now, this is of course just a small example and I gave it a prompt that was already quite specific about the implementation. If I put the same prompt into ChatGPT, I get pretty much the same result. For most LLMs code is not much different than any other language and it will happily generate it when asked.

This has a few rather impactful implications. First, this can be a productivity boost for experienced software developers. It allows developers to quickly generate boilerplate code and focus more on the specifics of a requirement. Second, it allows people with minimal or even no knowledge of software development to generate code for their ideas.

Coding is dead

This use of AI as a software development tool has led a lot of people on social media to say coding is dead. That developers have made themselves obsolete by creating a tool that can do their jobs. However, I think just the opposite is actually true. Developers have made a tool that allows more people to become developers. Even if you know nothing about software development, as soon as you start to put pieces of generated code together to form an application, you’re a developer.

Writing code, however, is just one part of the software development process. Because of artificial intelligence, a lot more people can do this part. A lot more people can take their first steps into software development this way. However, this gets us back to that quote at the top of this article. This gets us back to software development as a craft.

Welcome new coders

So, to everyone in that fresh batch of software developers: welcome. Welcome to this profession, I hope you’re enjoying yourselves and are building wonderful new things. But again, writing code is just one part of the process. So if vibe coding got you into coding, understand that there is more to do than just writing code that works.

A good application doesn’t just have working code. It has clean, readable, and maintainable code. A good application considers security to be of great importance. A good application was built to work for humans, rather than have humans work for it. A good application is accessible and easy-to-use. And, of course, a good application does no harm.

You’ve taken your first steps as a software developer and if you’ve enjoyed them, take the next steps and build something awesome!