Beyond "Vibe Coding": How AI Reignited My Passion for Software Craftsmanship
Let's clear something up: AI coding assistance isn't 'vibe coding' on steroids. It's a structured, mentored approach that's transformed my workflow.
"The term “vibe coding”" has recently virally discussed on social media – throwing code (often refer to those generated from AI) at a problem until something, anything, vaguely works. It is often negatively associated with using AI-assistance tool in software development. In fact, there is a different between “AI-supercharged engineer“ vs “vibe coder“. About a month ago, I decided to dive headfirst into using AI coding assistants, and honestly I feel like I've fallen in love with programming all over again.
My recent journey wasn't about tackling one massive project, but rather exploring, learning and building. I’ve chosen a set of AI tools (Cursor, Copilot, Claude, Perplexity, v0, Gemini) to play around, I rapidly prototyped a diverse set of ideas, here what I’ve built:
A Progressive Web App (PWA) weather application using Next.js. [github] [demo]
A nostalgic Snake game built with HTML Canvas. [github] [demo]
An interactive Solar System visualization using React Three Fiber. [github] [demo]
A functional URL shortener combining Express.js and Next.js. [github]
A webhook service built with Nest.js. [github]
The sheer variety and speed were exhilarating. It wasn't just about getting code churned out; it was about learning and experimenting effectively. Here are my verdict:
AI as the Modern Master Craftsman
I've always viewed software engineering as a craft. Like furniture making, cooking, auto mechanics, or even hairdressing, mastery often comes through apprenticeship. A master craftsman(a.k.a sensei) guides an apprentice, demonstrating techniques, explaining principles, and allowing the apprentice to learn by observation and guided practice.
This is precisely how I feel working with AI assistants. I articulate my goal – "I want to build X with Y technology" – and the AI generates a functional prototype. Crucially, it often comes with explanations of how the components work and the key concepts involved. I read through the generated code. If something is new or unclear, I don't just copy-paste; I ask the AI for clarification or dive into the official documentation.
This stands in stark contrast to the conventional struggle: hit a wall, Google furiously, sift through Stack Overflow answers (often lacking context for my specific problem), browse GitHub issues, and finally, maybe, ping a senior engineer hoping they have a spare moment. And, let's be realistic: AI can be attended to 24/7, but your senior colleagues can't. AI assistance is different; it has the context of my existing code, providing tailored guidance rather than generic solutions like Stack Overflow had to offer.
More Than Just Code Generation: Pair Programming & Review
The interaction feels remarkably like pair programming combined with continuous code review. The AI doesn't just passively generate code. It prompts me to refine my thinking, suggests viable solutions, and just when I thought my way might be the only way, the AI would surprise me with a more elegant or efficient approach I hadn't considered. When errors inevitably pop up (because let's be real, they still do), it helps review the code and pinpoint the likely culprits.
The results?
Drastically Shorter Learning Curve: I'm picking up new frameworks and concepts faster than ever.
Reduced Debugging Hell: No more spending hours chasing down a single elusive bug. The AI often spots issues or suggests debugging paths I hadn't considered.
Enhanced Product Focus: The act of writing a clear prompt forces me to mentally walk through the feature, assessing its feasibility and validity before writing a line of code.
Effective Mentorship: Many companies underestimate the value of pair programming for junior developers, often due to concerns about bringing down the paired mentor’s productivity. AI assistants help bridge this gap by delivering well-curated solutions sourced from across the internet, offering high-quality guidance instantly.
Reshaping the Landscape: Productivity, Quality, and the 80/20 Rule
Let's talk about the bigger picture. The Pareto Principle often applies in tech: roughly 80% of the widely used tools, libraries, and technologies are built by maybe 20% of engineers. I'll be honest, I don't count myself among that top 20% building the next groundbreaking framework(otherwise I should’ve already landed a job in Silicon Valley). So, for the rest of us (the 80%), how do we excel? Productivity and Quality.
Businesses ultimately care less about the theoretical elegance of our code and more about how quickly we can ship valuable features and how stable those features are in production. If you know what you want and can articulate it well, these AI tools can genuinely make you feel like supercharged. The efficiency boost is undeniable when you can clearly define the task at hand.
But what about quality?
This part separate the different between “AI-supercharged Engineer“ and the “Vibe Coder“, with the time saved during initial development and debugging, we must reinvest that time wisely. This means more thorough code reviews (yes, you still have that one thing to excel!), more comprehensive testing, and focusing on robustness. And guess what? AI can also assist in generating test cases and automating parts of the testing process.
Closing: Embracing the Future, Responsibly
There's understandable anxiety about AI "stealing" jobs. But history offers perspective.
“Did farmers lose their jobs en masse when the rice harvester was invented? “
“Did accountants disappear when computers became common?“
“Did architects become obsolete after CAD software arrived?“
Technology often shifts how work is done, automating certain tasks while creating new opportunities and demands for different skills. If we imagine a potential endgame where AI handles much of the repetitive or laborious work, freeing up humans to focus on complex problem-solving, creativity, research, and pursuing passions – isn't that a desirable future?
AI coding assistance isn't magic, and it isn't replacing the need for skilled engineers yet. Think about the stages of autonomous vehicles; current AI coding is much more like driver "assistance" stage than full "auto-pilot" stage. Just like finding a potential solution on Stack Overflow, you still need the expertise to validate the AI's output, understand its implications, and justify its correctness within your project's context.
It's a powerful tool, an amplifier for our own abilities. Like any tool, it needs to be used responsibly. We still need to understand the underlying principles, review the generated code critically, and take ownership of the final product.
For me, AI coding assistants haven't made my skills obsolete; they've supercharged them. And I'm excited to see where this partnership takes us next.