The past year has been the most painful time in my 20 years of professional life. While leading the development team at Flap, I had to accept the decision not to backfill departing employees, and with the remaining resources, I had to cover not just BE and FE, but also SE, QA, and AI—all of it. Because I had never worked this way before, even accepting and adapting to it took all my energy, let alone understanding it.
Looking back at how the company came to make that decision, it ultimately came down to not keeping pace with the startup scene, which is feeling the impact of AI-driven changes across the IT industry first. Just as Stack Overflow's traffic has plummeted, countless business models that provided coding education are now facing a crisis. Because people are using AI to generate code directly.
Yet paradoxically, I myself am enjoying coding more than ever right now.
Rediscovering the Joy of Coding
For the past 10 years, I needed colleagues' help to properly implement the things that required development. There were certainly parts I couldn't handle alone. But now, I'm building and managing all of those things through AI. In the past, I would struggle all day solving difficult bugs and have no energy left to spend time with my wife after work. Now, thanks to AI as a pair programming partner, my mental fatigue has decreased significantly.
Before, when I got stuck on tasks like Stripe webhook integration, I would spend half a day digging through documentation, searching Stack Overflow, and asking colleagues. Now, I explain the context to AI, have a few exchanges, and most problems get solved. That time can now be spent on more important decision-making.
Of course, there's also the opposite experience. Lately, I'm realizing I need to use AI in moderation as I watch myself spending more time on development because of it. I thought better tools would mean less work, but instead, the things I can do have multiplied. Features I used to put off saying "that would take too much effort" are now things I can actually attempt.
Vibe Coding and the Developer's Role
I hear the term "vibe coding" a lot these days. It's the approach of giving AI a rough direction and having it write the code. Even if AI writes code in 20 minutes, I still review and refactor the code for essential core features myself. Of course, I give AI feedback and it makes revisions based on that.
Code written by AI works. But it's often complex or inefficient. Variable names don't fit the context, unnecessary abstractions get added, or error handling becomes overly defensive. I think developers now need to transform from people who write every line themselves to supervisors who manage the overall design and verify AI's output.
If writing code quickly used to be what mattered, now it seems like what matters is how well you can read and judge the code AI writes. And this judgment ultimately comes from the experience and knowledge you've accumulated.
There's one more thing that has become important here: the ability to translate business requirements into technical design. AI will build whatever you tell it to build. But "what should be built" is still a human domain. What does the user really want? What value does this feature bring to the business? What role should this component play in the overall system? These judgments cannot be made by AI. In fact, as implementation speed has increased, I feel the importance of design capabilities—deciding what to implement—has grown even more.
On the Counterarguments
At this point, there are some expected objections.
"Doesn't depending on AI weaken developers' fundamentals?"
Honestly, this is a valid concern. I fully understand the worry that developers who grow up in an environment where AI writes code for them might lack foundational strength. But I think about it a bit differently. When calculators came out, there were concerns that "mental arithmetic abilities will deteriorate." That may have actually happened. But did we give up using calculators because of that? Rather, thanks to calculators, we became able to handle more complex problems.
Similarly, thanks to AI, we can now focus on higher-level problems. The energy we used to spend memorizing syntax or API usage can now be spent on architecture design or understanding business logic. Isn't the very definition of "fundamentals" changing?
"Don't you still need to know how to code yourself to verify AI-generated code?"
Yes. That's why I said past experience and knowledge aren't useless. You need the experience of having written code yourself to spot problems in AI-generated code. However, how developers starting their careers will build that experience is definitely a point that needs consideration. Perhaps the learning approach itself needs to change. Something like coding with AI from the start while training to critically review AI's output.
"Doesn't this mean only people who are good with AI tools will survive?"
To some extent, yes. But this applies to all technological change. When Excel came out, accountants who were good at Excel had an advantage. When the internet came out, people who were good at searching for information had an advantage. The emergence of new tools always redefines existing expertise. What matters isn't resisting change, but how you redefine your strengths within that change.
Accept and Adapt
To be honest, until mid-2025, I felt resistant to AI writing code for me. I thought, "Is this really my code?" and felt somewhat uneasy. But now I've accepted that this is an unstoppable trend, and I routinely dedicate time to actively leveraging it.
Lamenting that you miss the old ways is meaningless. To not fall behind those who are achieving much higher productivity using AI, you must get on board with this change. As someone said, you need to know how to use a day like a month. To do that, moving with intention and making it routine is extremely important.
Let me use Kübler-Ross's five stages as an example. Denying AI, getting angry at AI-generated code, becoming depressed when facing the reality that it's more productive than you, going through the stage of bargaining with "maybe I should use it a little," and then reaching the acceptance stage of actively incorporating it into daily life. I can confidently say that whoever reaches this acceptance stage first will have a different future.
The age of coding hasn't ended—it has merely changed shape. Past education and knowledge aren't useless; they will become the foundation for better utilizing and verifying AI. Just because tractors were invented doesn't mean people stopped farming. The form has simply changed.
It's time to stop grieving and embrace the new era.
What stage are you at right now?
Top comments (0)