“I’ve decided to quit programming.”
It’s a sentiment I’m hearing more and more. Talented developers, especially those just starting, feel like a dark cloud has gathered over their careers. The AI wave has hit, and the narrative is deafening: programming is dead, and AI will replace all programmers, starting with the beginners.
If you feel this way, take a deep breath. Let’s cut through the noise. Andrew Ng, one of the world’s leading AI scientists and a founder of Coursera, stated that advising people not to learn to code because of AI will be “the worst career advice in history.”
This isn’t just wishful thinking. It’s a pattern.
The Fear is Real, But Not New
This panic isn’t new to our field. Every few years, a major technological shift occurs, sparking the same doomsday predictions. The same tired refrain echoes: “Programmers are finished.”
It happened with the shift from low-level to high-level languages. It happened with the rise of frameworks and Content Management Systems (CMS) like WordPress. It happened with WYSIWYG editors like Dreamweaver, which promised website creation with simple drag-and-drop.
Each time, the prophets of doom declared the end of programming. And each time, what actually happened? We needed more developers, not fewer. What changed was the type of developer in demand. The tasks evolved, and the expectations grew higher.
“But This Time It’s Different!”
I know what you’re thinking. This leap feels bigger. AI can write thousands of lines of code, often with higher quality and in less time than a human. A top-tier model costs maybe $200 a month—cheaper than any developer. It doesn’t take vacations or ask for work-life balance. It’s a workhorse.
You might even point to Ryan Dahl, the creator of Node.js, who famously said, “The era of manually writing code is over.”
And you’re right to be concerned. But let’s look at the full picture. When Dahl said that, he followed it up with a crucial clarification: this doesn’t mean programmers will be out of a job. It means that manually writing code is no longer the entirety of their job.
The Core Misconception: A Programmer is More Than a Coder
The fundamental mistake is reducing the role of a “Software Engineer” to just “one who writes code.” The code is just one tool in a vast toolbox.
Think about it. Before a single line of code is written on any project, people are thinking. They’re strategizing.
- What should we build?
- Why should we build it?
- What should we leave out?
- Which technology is the right fit?
- What are the long-term impacts of these decisions?
This is the essence of engineering. The coding part—the implementation—is the final step that comes after all the hard decisions have been made. If it were as simple as telling an AI to “build a Facebook competitor,” we’d already have dozens of them. The reality is far more complex.
Furthermore, interacting with AI is a skill in itself. Andrej Karpathy, the former Director of AI at Tesla who coined the term “Vibe Coding,” described working with an LLM as managing a “brilliant junior intern with encyclopedic knowledge.” This intern, however, is also overconfident, hallucinates facts, and has absolutely zero taste for writing clean, maintainable code.
This is why you can’t just blindly delegate. You must direct, verify, and refine.
The Carpenter and the Factory: A Modern Parable
Imagine you’re a master carpenter in a small, renowned workshop. You craft every piece of furniture by hand, ensuring impeccable quality. It’s exhausting and time-consuming, but the results are flawless.
Business is booming. You decide to scale up by opening a factory, complete with advanced, automated machinery.
Do you look at this new machinery and think, “It’s taken my job”? Of course not. The machines can’t run themselves. You see them as what they are: force multipliers. They are accelerators that help you expand your business and multiply your output tenfold.
Your challenges now change completely.
- Mastering the Machinery: Your first task is to learn how to use these new tools effectively. You must read the manual from cover to cover to get every ounce of value from your investment. Without it, you’re just guessing, with inconsistent results.
- Maintaining Quality at Scale: You can no longer personally inspect every single piece that leaves the factory. The old workshop method won’t work. You must build a system to monitor quality, and you must oversee that system. You have to know when to step in, roll up your sleeves, and do the work yourself.
This is the new reality for developers.
Your Action Plan for the AI Era
So, what should you do? How do you become one of the developers who will be in high demand?
1. Learn the Fundamentals (The “Secret of the Craft”) Even if you have access to a factory full of automated tools, you must first learn the basics of your craft. Understand the wood, the joints, the principles of design. In programming, this means mastering the fundamentals: data structures, algorithms, design patterns, and core principles. This knowledge allows you to effectively manage the “machinery” (AI) and prevents you from being fooled by its confident mistakes.
2. Specialize in a Specific Field Carpentry is a vast field, and so is programming. You can’t master everything. Choose a domain—like mobile development, web development, or data engineering—and learn the specific technologies and tools that are in demand in that market. To effectively supervise the machinery, you need to understand both the fundamentals and the specific technology being used.
3. Master Your New Tools (The AI) Read about how these tools work. Understand what an LLM is, what a prompt is, and why context is king. Learn why a well-crafted prompt with clear constraints can be the difference between garbage output and a brilliant starting point. Karpathy himself admitted to feeling “behind” as a programmer and recognized there’s a whole new layer of skills to learn. It’s normal to feel a bit lost. You’ll learn this by doing. Start by writing about 70% of the code yourself, using AI as an assistant for the remaining 30%. As you become more skilled at prompting and directing, you can shift that ratio.
4. Find a Mentor An AI can review your code, but it cannot replace a human mentor. As Andrew Ng pointed out, working with AI is a “deep mental exercise,” not a passive activity. It’s easy to fall into the comfort zone, stop reviewing the AI’s work, and let quality slip. A mentor—someone more experienced in the field—will save you from yourself. They will provide guidance, challenge your assumptions, and intervene when they see you straying from the path of quality and sound engineering.
The New Role: From Coder to Orchestrator
The job is changing. In the past, the ideal was to be a “Subject Matter Expert” (SME) with deep knowledge in one area (a T-shaped skillset). Now, with AI handling much of the raw code generation, the focus is shifting.
You are evolving from a Software Engineer, whose primary concern was code, into a Product Engineer, whose focus is the entire product lifecycle. As Karpathy noted, software engineering will become more about supervising automation and giving high-level strategic commands.
Your job is becoming one of orchestration, not just execution.
You are no longer the carpenter in the workshop, building everything by hand. You are the factory manager, responsible for directing advanced machinery, overseeing the quality of its output, and constantly improving its performance to increase production without sacrificing quality.
The problem today is that everyone has access to this advanced machinery. Choosing to stay in your small workshop, doing everything by hand, will unfortunately push you out of the market. You’ll lose out on a massive share of opportunities.
So, go complete your studies. Don’t get distracted by the arguments and the noise in the industry. Focus on your path.
Because the one who is constantly looking around, never reaches their destination.