The Beginning of a New Era in Programming Values
Until now, we've had considerable AI coding assistance tools like GitHub Copilot Workspace, but the fundamental assumption has always been that humans would review the code. There was this sense of responsibility that humans must guarantee code quality, which I took for granted.
However, after reading a blog post about a hackathon, a question suddenly emerged. The post described how non-engineers, like sales professionals, were producing better results in shorter timeframes than engineers.
Why would that be? Perhaps it was because they fully trusted AI and didn't obsess over reviews.
I had a sudden realization that "I might be becoming one of those engineers." As an engineer striving for perfection, I could become the very resistance to change.
The Weight of "Responsibility" in Code Review
Why did I feel this way? Because I was experiencing daily that with programming that assumes code review, my physical body had already become the bottleneck.
Even for minor modifications, I would spend 1-2 hours verifying what AI tools like GitHub Copilot could suggest in 3 minutes before merging. The bottleneck was clearly on the human side.
But thinking about it, is this process really necessary? Is it a sense of responsibility that humans must guarantee quality, or is it just a preconception? I had unconditionally assumed that "code must absolutely be reviewed," but is this the right approach in an era of collaboration with AI?
Where Is the Real Bottleneck?
I decided not to start with negation. Instead, I chose to fully embrace a new style first, then compare it with my existing values. So I committed code almost every day for about a month.
By the way, this month was a special period. My long-awaited son was born on February 28, and I was simultaneously wrestling with AI and experiencing first-time parenthood. Normally, work would have been difficult to progress in such a situation, but the results were actually the opposite. Why was that?
Why "Implementation Cost" Is a Critical Variable in the AI Era
When I tried it, the experience was surprisingly comfortable. From February 25 to March 26, about a month ago, there wasn't a single day I didn't commit to GitHub. I continued to write code every day, weekdays and holidays.
Why was I able to continue this without imposing it on myself as an obligation? I believe it's because the rhythm and satisfaction of work fundamentally changed.
The Dilemma of "8 Hours Manual Work" vs "20 Hours Implementation"
In traditional software development, cost-performance has always been an issue. When writing code, it generally doesn't pay off unless at least 100 people will use it. Therefore, creating disposable code wasn't really feasible, and the sense of satisfying intellectual curiosity or helping people through work was honestly quite thin.
Developing tools for many unknown users was the norm. What does this mean? If you try to solve a problem in front of you, you need to spend 20-30 hours implementing automation for a task that would take 8 hours manually. When you actually use it, bugs appear, requiring debugging, so it's not uncommon for the total to take 30-40 hours.
8 hours of manual work is super tedious, but that's quite the point—it's not quite worth automating with a program.
Time Value Inversion Phenomenon with AI Implementation
So how has this situation changed? The economic rationality equation was transformed when I encountered a style called "Vibe Coding" where you code together with AI in a more intuitive way.
Services used by 100+ or even millions of people should still involve careful human oversight and cost investment. This is because they benefit from economies of scale—just as larger apartment buildings can afford grand entrances and common spaces.
On the other hand, while Vibe Coding might produce code with lower maintainability from a traditional perspective, the drastically lower implementation cost expands the range of applicable work.
Manual tasks that would have taken 8 hours might be implemented with AI in 30 minutes, potentially completing the work within an hour. I've experienced this benefit numerous times, especially with data preprocessing. Now, code that I used to preserve carefully can be written and discarded for each use. It feels wasteful but strangely refreshing.
What the Explosive Expansion of Application Range Means
So what does this imply?
When implementation takes minimal time, the range of possible applications expands dramatically. Automation for just a few people in front of you might be worth the cost. You might even write code just for yourself.
Vibe Coding isn't trying to replace robustly built systems. Rather, it targets areas where we've been using GUIs but couldn't quite scratch all our itches, or where we had to repeat the same operations at the same time.
Once you write code, you can automate it repeatedly, and if requirements change, you just communicate the changed requirements and the code implementation is completed in minutes. As a result, the boundary between what can be built and what cannot has dramatically shifted.
This explains why I could balance childcare too. Vibe Coding is perfectly compatible with childcare—AI keeps writing code while I'm feeding my baby or giving him a bath. Supporting my wife with childcare is my top priority, but I was able to produce results equal to or better than my previous way of working during this month. This is quite encouraging news for balancing childcare and work.
Psychological Effects of Being Liberated from the Obsession with Perfection
Beyond this time-value inversion phenomenon, there was another significant change: psychological transformation.
The Psychology of "Giving Instructions" vs "Receiving Instructions"
Even as someone relatively comfortable with programming, I've preferred using no-code tools for creating web pages when possible. This wasn't just about ability, but because I was adding another axis of consideration: whether something was worth building based on cost.
No-code tools allow intuitive operation—you can modify directly by specifying what you want to change. This is a significant advantage. However, you can't escape the manual labor of clicking and modifying each instance for simple tasks like changing colors.
With AI-assisted coding, the situation is reversed. Since we also create mechanisms with AI to centrally manage elements like colors and features, changing all colors can be done by simply requesting "change color xx to yy," and minutes later, everything is consistently updated. If there are any omissions, they'll be corrected as soon as a human points them out.
I realized something here: people like giving instructions but dislike receiving them. Having AI handle the unpleasant role of receiving instructions makes maintaining motivation much easier.
Not only is the work itself easier, but it feels better emotionally.
Why Prototyping Is So Exhilarating
After creating a website (blog), I noticed the experience was far better than using no-code tools. Where does this exhilaration come from?
First, the work rhythm becomes your own pace. While AI is implementing, you can think about your next idea. Also, if your instructions to AI are appropriate, results come quickly, creating a very fast feedback loop.
There's also the joy of teaching. When AI understands and shapes your vague requests like "I want it to be like this," there's a satisfaction similar to teaching a capable newcomer. Above all, there's no communication stress. The communication costs that would exist between humans—being considerate, misunderstandings—are drastically reduced.
The Liberation of Accumulated "Nice to Have" Features
And now, features I used to consider "nice to have" for my blog—concepts I knew but postponed implementing—get implemented within hours when requested, including trial and error.
I can realize one after another the things I've always wanted to implement someday when I had time and money. This could be described as the liberation of desires accumulated over many years.
The ability to implement "would be nice" level features without hesitation through AI collaboration has brought about tremendous psychological liberation. Considering the traditional "importance vs urgency" matrix, features that are "important but not urgent" have become dramatically easier to implement. This has created a virtuous cycle where product completeness continuously improves.
The Evolution of "AI-Driven Development" in Three Projects
With these thoughts in mind, I decided to shape ideas I'd wanted to create for a while. What emerged was the evolution of AI collaboration across projects.
Experimenting with a Pre-Interview System Connecting Investors and Entrepreneurs
The first was a pre-interview system for investors and entrepreneurs. I felt that the essence of Vibe Coding is being able to work on things you personally find delightful.
For several years, I've been supporting entrepreneurs through startup education and angel investment as an entrepreneur myself. I was also appointed as an Entrepreneurship Promotion Ambassador by the Ministry of Education, Culture, Sports, Science and Technology, traveling to elementary and middle schools nationwide to spread the entrepreneurial spirit.
Amid this activity, I had concerns. Perhaps due to the recent startup boom or lowered barriers to entrepreneurship, there are sometimes entrepreneur candidates with low levels of ambition who think "I'll just start after receiving angel investment".
Meeting with such people lowers my motivation, so I try to avoid it. That's why I limit angel investments to introductions from trusted acquaintances and generally don't respond to others. While this is probably an efficient strategy, there are truly motivated people with high ambitions who get overlooked because they have no connection to me.
To solve this problem, I attempted to develop an AI evaluation system for pre-interviews. When entrepreneurs upload investment materials, AI analyzes them and automatically generates deep-diving questions. Then through dialogue, it evaluates the entrepreneur's ambition and technical capabilities.
What surprised me most about this system development was the speed. This product took about one week from conception to initial completion. In the past, I would have spent a week just refining the idea, without even starting on algorithms or UI.
Being able to implement not just algorithm considerations but also the UI allowed me to record a demo video and show it to acquaintances. Since my close friend is a VC, we could discuss its practical use. Having something that actually works definitely creates different interest and attention.
The Future Value Generated by a Commitment to "Internal Design"
When creating products with AI, I care not just about what to make but how to make it. My approach to Vibe Coding was different from what I call "AI amazement vendors."
When creating a product, I believe it's not just about completing the deliverable. For example, if asked to create a Twitter (now X) clone, AI could reproduce much of it now. But in actual product development, a unique perspective is essential—without originality, it has no business meaning.
While a clone just needs to reproduce the appearance and functions, a product with uniqueness is completely different. Also, the commitment to the process of creation is important. For instance, when making a car, the design process differs depending on whether you're making one by hand or producing tens of thousands.
I love thinking about processes, and I believe a product's value is determined by the quality of its internal processes. While ease of use often gets attention on the surface, that too is a manifestation of the value of internal craftsmanship.
Products are a long game, and in manufacturing, there are industrial machines—machines for making machines. I like this concept, and companies that make good products have top-quality industrial machinery. Programs too should be meticulously crafted not just on the surface but in their supporting environments.
The most important aspect of AI-driven development was setting up a Memory Bank. This is a mechanism for maintaining context between AI tasks, where you write down important information about project progress and review it at the beginning of each task. Using the official Custom Instruction for Memory Bank is effective.
How to Accelerate the Back-and-Forth Between Specifications and Implementation
In the second project, based on the experience from the first project, I discovered more efficient patterns for AI collaboration. Particularly notable was the importance of writing specifications and task division.
Even with AI, the same frameworks as traditional systems engineering are effective. Write detailed and correct specification documents as requirements, lay rails with tests that reflect them, and have AI code along those rails. However, it's important to divide into small tasks.
When using tools like Cline or Roo Code, I found it optimal to divide tasks to complete in about 15 minutes each. If tasks are too long, there's a higher risk of direction drift or context loss.
There's also room for technical ingenuity. For example, efficiently reference existing code using search functions, or use difference-based updates like apply_diff
to efficiently progress work while reducing token consumption.
In the third project (developing this blog), I applied all these insights to collaborate with AI on every process from design to implementation. As a result, I was able to produce higher quality products in even less time than before.
Outlook for a New Collaborative Model Between Humans and AI
Now, I'd like to consider the future vision that emerged from my month-long Vibe Coding experience.
Transition from Reviewer to "Direction Setter"
We are now entering a new era of working with AI. Here, because implementation time is minimal, we can tackle areas we couldn't previously venture into. We can efficiently provide solutions even for small problems right in front of us.
This signifies a major shift in the role and self-perception of programmers.
From "perfect implementer" to "direction setter." More important than pursuing perfect code is deciding what to build. Now that AI handles implementation, different roles are required of humans.
Abilities Required by the New Development Culture
So what abilities are required of developers in the AI era?
- Requirements Clarification Ability: The ability to translate ambiguous demands into clear specifications becomes more important
- Depth of Domain Knowledge: While AI has knowledge, only specialists can judge its accuracy
- Structural Thinking: The ability to break down complex problems into small tasks determines the success of AI collaboration
- Accelerating Experimentation and Learning: The cycle of quickly validating hypotheses and applying learnings to the next iteration
Particularly important is communication ability with AI, including prompt engineering. This requires a unique skill set different from human-to-human communication.
Predictions for Changes in the Coming Year
Finally, what changes might occur in the next year?
I predict an explosive increase in small-scale automation. Automation that was abandoned due to the "8 hours manual work" vs "20 hours implementation" dilemma will change to "8 hours manual work" vs "30 minutes AI implementation."
Also, the boundary between prototyping and production implementation will blur. The culture of "let's just build it and see" will become more common, dramatically shortening the time from idea to implementation.
Perhaps most interesting is the emergence of new development methods and design patterns suited for AI collaboration. While still in its infancy, methodologies to maximize AI capabilities, starting with mechanisms like Memory Bank, will continue to emerge.
I've changed significantly through collaboration with AI. Freed from time spent on code review, I can use more time for idea exploration and experimentation. Above all, I feel more at ease emotionally. This is because I can focus on being the one giving instructions rather than receiving them.
What I've seen in this month of practice is the possibility of a new development culture in the AI era. A culture that emphasizes speed and experimentation, evolving through quick successes and failures. This might fundamentally overturn the conventional wisdom of software development.
The dramatic reduction in implementation costs has given new wings to our imagination. I want to continue exploring this new collaborative style and seek forms of development that leverage the strengths of both AI and humans.
"Prioritizing speed over perfection in prototyping"—this is not just about efficiency, but a transformation of values and way of life as a developer.