In an age where AI codes everything, why do we still need to learn?
Key Points
- 1Comparing the rapid advancement of AI in software development to "The Last Samurai," the speaker highlights how AI's "Gatling gun" efficiency transforms traditional coding, simultaneously boosting individual productivity and raising concerns about fundamental skill erosion.
- 2Many aspiring developers fall into the dangerous illusion that AI replaces the need for basic coding literacy, leading them to neglect core principles like code comprehension and accountability, making them less valuable than directly utilizing AI.
- 3The speaker contends that true "last developers" who master foundational knowledge, understand code deeply, and can critically solve problems beyond AI's probabilistic outputs will become exceptionally valuable, differentiating themselves by strategically leveraging AI while maintaining human oversight and responsibility.
The paper presents a critical analysis of the current software development landscape, heavily influenced by the rapid advancement of Artificial Intelligence (AI), particularly Large Language Models (LLMs). The author, an experienced developer and educator, uses the analogy of the movie "The Last Samurai" to illustrate his point: traditional software developers ("samurai" with swordsmanship) are now facing the overwhelming power of AI ("Gatling guns" with raw code generation capabilities). He posits that while AI is incredibly powerful and a beneficial tool for productivity, it is simultaneously fostering dangerous misconceptions and delusions among aspiring and junior developers.
The author begins by stating his strong support for AI development, acknowledging its ability to accelerate learning, increase productivity, and provide abundant resources. He notes that, paradoxically, his own market value and productivity have surged in this AI-driven era. However, his core concern lies not with AI's efficiency, but with the "misconception and delusion" prevalent among new developers.
The Core Argument: The Erosion of Foundational Skills and Responsibility
The paper argues that a fundamental misunderstanding of what it means to be a developer is emerging. A developer, in the author's view, is someone who solves problems, translates time into value, and writes *responsible* code. This definition underscores the importance of not just producing code, but understanding its implications and taking ownership.
The central observation supporting this argument is the alarming feedback from senior and lead developers: many new hires, including computer science graduates, cannot properly *read* code. This problem, while always present to some degree, has become the "average" due to the pervasive belief that "AI does everything."
The "AI Cheating" Phenomenon:
- Superficial Proficiency: Junior developers submit impressive AI-generated projects but are utterly unable to explain the code, demonstrating zero understanding of frameworks or the logic behind their submissions. They cannot even identify what their own code does.
- Misplaced Blame: When AI-generated code fails or performs poorly, users often blame the AI model itself, failing to recognize that their own lack of fundamental knowledge prevents them from effectively utilizing, evaluating, or debugging the AI's output. The author uses the analogy of a skilled driver versus a poor driver with a Porsche: a powerful tool is useless without the necessary driving skill.
- Lack of Critical Evaluation: A significant number of new developers blindly submit AI-generated code (e.g., from LLMs) for Pull Requests (PRs) without reading, understanding, or validating it. When asked about design choices, side effects, or implications, they are silent, because they didn't write it.
The Peril of Neglecting Fundamentals:
- The "It's Easy Now" Fallacy: The author laments that some propagate the idea that software development is now "easy" due to AI, misleading newcomers into believing that deep learning is unnecessary. This discourages foundational study.
- Real-World Consequences: Software development is not an academic exercise; it involves real money, personal data, and business continuity. Deploying software is just the beginning. Issues like traffic handling, database migration strategies, security patching, cost optimization, caching, and architectural design constantly arise. AI can provide probabilistic answers, but human developers must possess the fundamental knowledge to choose the *optimal* solution, diagnose complex problems, and make critical decisions. Relying solely on AI without understanding leads to systemic collapse.
- The Devaluation of Expertise: If developers merely act as conduits for AI-generated code (Ctrl+C, Ctrl+V), their value diminishes. Employers could simply instruct the AI directly, bypassing human developers and eliminating the communication overhead. This highlights a fundamental threat to the profession if skills are not developed beyond mere prompt engineering.
The Author's Call to Action and Vision of "The Last Developers":
The author, despite being an educator who previously taught traditional pre-AI development knowledge, faces resistance from students who question the necessity of learning fundamentals when "GPT can do it all." He argues that this mindset is leading to a disconnect, where the industry's need for deeply skilled individuals is unmet by the incoming talent pool.
He emphasizes that foundational knowledge, such as Test-Driven Development (TDD) (which he notes should be a basic skill for even 1-year developers), Clean Architecture, Adapter Patterns, Cloud Deployment (Terraform), and ETL processes, are critical. While AI makes learning these concepts *easier* than ever before, many new entrants are obsessed with superficial "prompts and skills" rather than understanding the underlying principles.
The author concludes with a powerful message, reiterating the "Last Samurai" analogy. He believes his generation and those who embrace foundational principles are "the last developers" – those who understand the meaning behind each line of code, design data pipelines, and take responsibility for their creations. He contrasts this with past industry shifts (e.g., Windows GUI, Visual Basic, Cloud computing) which, contrary to predictions, *increased* demand for developers. However, he senses that AI might be a "true last stand."
In an era where everyone can wield the "Gatling gun" (AI-generated code), the true value lies in:
- Knowing *where* to aim the gun: Strategic application of AI.
- Being able to *fix* the gun when it breaks: Debugging and troubleshooting AI-generated or AI-assisted code.
- Being able to draw the *sword* (traditional coding skills) for the 1% of problems AI cannot solve: Tackling complex, nuanced, or novel challenges that require deep human insight.
Ultimately, the author asserts that the "low probability" of AI hallucination or error, while seemingly small, can lead to catastrophic system collapse in programming. It is human knowledge, not AI, that prevents these failures from merging into production. He encourages developers to focus on what they *can* control – mastering their craft and building a robust understanding of computer science fundamentals – rather than betting on uncertain future AI capabilities. He urges against "vibe coding" (coding based on intuition or superficial understanding without deep knowledge) and hiding behind AI, emphasizing that traditional knowledge remains critical for solving complex problems and achieving true efficiency.