What Changes, What Doesn’t: True Engineering in the AI Coding era
1. Background
The software development landscape is undergoing a profound transformation since the advent of LLMs and Agentic AI. AI coding assistant tools like Amazon Kiro, Cline, Claude Code, OpenAI’s Codex, Gemini Code Assistant, Cursor, Github Copilot, Alibaba Qoder, ByteDance Coze and Windsurf become increasingly popular, used by both professional engineers or even non-tech users. This signals a big shift on how software gets built. While many teams are excited about the acceleration and productivity gains AI coding brings to project delivery, it’s equally important to reflect on what should stay the same and how we can better adapt to this new paradigm. Some things about good “engineering” will always matter.
2. The Big Change: From Handwriting Code to Intent Programming
We are transitioning from handwriting code line by line to working at a higher level of abstraction—intent programming. Instead of writing every for-loop code, if-statement, variables and methods, we are becoming logic architects, logic designers while AI generates what’s concrete. In this model, AI becomes a “compiler” and pair programmer that translates natural language into code—much like how traditional compilers translate high-level languages into assembly/machine code, but now operating at an even higher level of abstraction yet without precise semantics and syntax. We define clear needs, goals, constraints, approaches, few-shot exemplars, and desired outcomes, guide AI through the converting parts, review and evaluate the generated code. This new paradigm dramatically increases productivity, code ships faster, tasks that used to take hours can now be completed in minutes.
3. What Stays the Same: True Engineering Principles
Some things never change. Here in AI coding, code long-term sustainability cannot be automated away, good engineering discipline remains irreplaceable. AI can generate code quickly, but it might not inherently know whether the code will be maintainable over time, if it is performant under high load, if it is extensible or secure. Core engineering principles such as performance, reliability, modularity, scalability, maintainability and robustness still matter, guidelines like SOLID (SRP, OCP, LSP, ISP, DIP), DRY (Don’t Repeat Yourself), Separation of Concerns, Composition over Inheritance, Dependency Injection, clean code and architecture are even more critical in anchoring AI-generated code to sustainability of software. Speed matters, but it is not everything, engineers must ensure true engineering rigor are baked in code, just like conventional software delivery. Move fast and break things, yes—but move fast and be responsible for what lasts.
4. Adapting as Engineers
No “Vibe Coding” in Responsible Production Use
No more vibe coding for production if you want your code to stay around for a long time. Developers may “feel right” or accept AI-generated code that appears to work in the moment, without fully deep understanding of the implications and what’s happening under the hood. I would say vibe coding is not true engineering, it’s like a guesswork. The biggest risk of AI-assisted development is blindly trusting AI-generated code without rigorous review and validation, just because the code runs doesn’t mean it’s good. AI outputs may look good initially but can decay in long run simply because it wasn’t instructed to follow engineering principles in the early phase. To ensure sustainable software, engineers must examine generated code, analyze the logic, and validate mission-critical lines of code.
Keep Elevating Your Engineering Taste and Code Aesthetic
Engineering is not just about making things work—it’s about intellectual thoughtful design. True craftsmanship comes from deep knowledge, code aesthetic, years of experience, and strong skillset or even intuition. This is where engineering taste comes into play: the ability to recognize good and clean vs. smelly code, whether the piece of code is over-engineered, under-abstracted, or brittle. With the randomness and occasional hallucinations in LLM output, implementation quality can vary a lot, that makes engineering taste even more important. Anyone can prompt to generate code, but not everyone can judge and commit code that meets the engineering rigors. Keep improving your ability to refine AI-generated output into “green” code that is readable, maintainable, performant, scalable, secure, and operationally excellent.
Check below interviews with Github CEO and Cursor CEO on their views of the importance of code taste:
- – GitHub CEO: Why Now Is the BEST Time to Be a Developer | Thomas Dohmke (https://www.youtube.com/watch?v=PR__eFQsnhg)
- – Cursor CEO: Going Beyond Code, Superintelligent AI Agents, And Why Taste Still Matters
(https://www.youtube.com/watch?v=oOylEw3tPQ8&t=312s)
Hold the Bar High and be Accountable
Responsible and reliable AI output requires thorough human validation and oversight, the results still require human accountability, it doesn’t go away. It’s not enough to confirm that the code runs, the bar remains as high as ever. Engineers must ask themselves constantly: does the AI-generated code adhere to engineering principles? will it stand the test of time? is it optimized for performance, cost, and resilience? If AI-generated code breaks in production or decay over time, it is the engineer’s responsibility, not the AI’s.
Position better for the Future AI Era
The engineers who thrive will be those who embrace changes and adapt quickly. LLM-powered AI coding tools has been evolving rapidly, continuous learning and practicing AI tools, understanding its capabilities limitations are essential for each engineer. Mastering prompt engineering on how to guide your “virtual collaborator” effectively becomes a core new skill for you. For example, this includes context engineering where you organize domain-specific context files like rule files in Cline, Claude.md, Agent.md to teach AI coding tools your codebase (similar to robots.txt in web2.0 for Crawlers) and perform Specification-Driven Development (SDD), choosing the right level of granularity for changes (small segment vs. big module), developing and reusing “Instruction Patterns” like how we used to adopt 23 Gang of Four Design Patterns in OOP, and making best use Agent Skills to conduct code reviewing with guidelines and crafting. In addition, traditional coding skills, system design, and computer science knowledge remain foundational and valuable. Your judgment and lens will be key to maximize AI’s capability and reliability.