From Writing Code to Managing Agents. Most Engineers Aren't Ready | Stanford University, Mihail Eric
By EO
The Rise of the AI-Native Engineer & The Changing Software Landscape
Key Concepts:
- AI-Native Engineer: A software engineer proficient in traditional programming and adept at utilizing and orchestrating AI agents within the Software Development Life Cycle (SDLC).
- Agent Orchestration: The process of managing and coordinating multiple AI agents to accomplish complex tasks, requiring careful planning and context switching.
- Agent-Friendly Codebase: A codebase designed for easy understanding and modification by AI agents, characterized by consistent style, comprehensive testing, and clear documentation.
- Allocating Intelligence: The strategic deployment of AI to perform tasks, ideally embedding it directly into the product to serve the customer without human intervention.
- Functional vs. Incredible Software: The distinction between software that merely works and software that demonstrates exceptional design, robustness, and problem-solving capabilities.
I. The Shifting Landscape for Junior Engineers
The software development ecosystem is undergoing a significant transformation driven by the rapid advancement of AI. This has created a “perfect storm” impacting junior engineers:
- Post-Hiring Correction: A surge in hiring around 2021, followed by widespread layoffs as companies realized they had overextended.
- Increased CS Graduates: A dramatic increase in the number of Computer Science graduates over the past 10-15 years, creating a larger pool of job seekers. (Graduation numbers have doubled or tripled in that timeframe).
- AI Adoption by Employers: Companies are increasingly considering AI as a substitute for hiring additional personnel, favoring candidates with “AI-native” skills.
This has resulted in a challenging job market for recent graduates, with some reporting applying to thousands of positions with minimal responses. Mihel, leading AI at a San Francisco startup and teaching at Stanford, notes anecdotes of Berkeley graduates receiving responses from only 2 out of 1000 applications.
II. Defining the AI-Native Engineer
The AI-native engineer isn’t simply someone who uses AI tools, but someone who fundamentally understands how to integrate them into the entire software development process.
- Foundation in Traditional Skills: A strong base in programming, system design, and algorithmic thinking remains crucial.
- Agentic Workflows: Competence in utilizing and orchestrating AI agents is paramount.
- Iterative Agent Addition: Building agent workflows should be a gradual process. Mihel cautions against attempting to manage 10 agents simultaneously, advocating for a “build it up piece meal” approach. Start with one agent, master that workflow, and then incrementally add agents for isolated tasks.
- Context Switching: The ability to seamlessly switch between monitoring and directing multiple agents is a core skill. This mirrors the skills of a good human manager.
III. Orchestrating Multiple Agents: The “Last Boss”
Effectively managing multiple AI agents is presented as the most challenging skill for a software engineer to master.
- Avoiding Chaos: Simply adding more agents doesn’t guarantee a better system; it can easily lead to a more chaotic and less effective one if not properly managed.
- The Top 1% Skill: Mastering multi-agent orchestration is identified as a skill that places an engineer in the top 1% of the field.
IV. Building an Agent-Friendly Codebase
To maximize the effectiveness of AI agents, the codebase itself must be designed with them in mind. This concept is termed an “agent-friendly codebase” or “agent-first codebase.”
- Test Coverage as Contracts: Robust test suites act as “contracts” defining the expected behavior of the software, allowing agents to operate safely and predictably. Without sufficient test coverage, agents lack the necessary constraints.
- Consistent Documentation: Code documentation (READMEs) must be kept up-to-date and consistent with the actual code. Discrepancies create ambiguity for agents.
- Avoiding Spaghetti Code: Complex, poorly structured code (“spaghetti code”) is prone to errors when modified by agents, as agents can compound errors quickly.
- Consistent Design Patterns: Using consistent design patterns throughout the codebase ensures that agents can easily understand and apply existing solutions. Inconsistency forces agents to make arbitrary choices.
- Linting & Style Checking: Consistent code formatting through linting and style checking helps agents understand and adhere to the codebase’s rules.
V. Functional vs. Incredible Software & The Role of Experimentation
The discussion extends beyond simply making software work to creating truly exceptional software.
- Taste & Investment: The difference between functional and incredible software lies in the developer’s willingness to go the extra mile, investing time and effort beyond the minimum requirements.
- Experimentation is Key: Experimentation is crucial for becoming an AI-native developer. Even leading AI companies like Anthropic (Claude) are constantly rewriting their own software using AI.
- Beating Your Head Against the Wall: Developers need to actively experiment and learn through trial and error, rather than solely relying on pre-defined solutions.
VI. The Continued Need for Junior Engineers
Despite the rise of AI, junior software engineers remain vital.
- Fresh Perspective: New graduates bring a naiveté and openness to experimentation that experienced developers may lack. They are less constrained by established practices.
- Adaptability: Junior engineers are more adaptable and quicker to adopt new tools and technologies, including AI.
- Fundamental Skills: The core skills of software development – problem-solving, algorithmic thinking, and system design – remain essential, and junior developers are trained in these areas.
- The Developer’s Mindset: Developers possess a unique mindset – a confidence in their ability to solve problems with software – that is invaluable.
VII. The Future: Allocating Intelligence & AI Collaboration
Rem Koning, a professor at Harvard Business School, highlights the importance of “allocating intelligence” – strategically deploying AI to solve problems.
- Embedding AI in the Product: The key to building AI-native organizations is to embed AI directly into the product, allowing it to interact with customers without human intervention.
- AI-to-AI Collaboration: The potential for AI agents to collaborate and learn from each other represents a significant opportunity, potentially leading to the creation of trillion-dollar companies.
Notable Quotes:
- Mihel: “Adding more agents doesn't always create for a better system. In fact, it can make for a lot worse systems actually if if you just let them go and do whatever they want.”
- Mihel: “If you can do that [context switching between agents] really really well, then you are like literally like the top top 1% of of users even today.”
- Rem Koning: “The key for AI native is that you're not just using it to do the work. You're embedding it in the product so that the AI can directly do the work with the customer.”
Conclusion:
The software development landscape is rapidly evolving, demanding a new breed of engineer – the AI-native engineer. This engineer possesses a strong foundation in traditional skills, coupled with the ability to effectively orchestrate AI agents and build agent-friendly codebases. While AI presents challenges for junior engineers, their adaptability and fresh perspective make them uniquely positioned to thrive in this new era. The future of software development lies in strategically allocating intelligence and fostering collaboration between AI agents, ultimately transforming how software is built and delivered.
Chat with this Video
AI-PoweredLoad the transcript when you're ready to chat so the initial page stays lighter.
Related Videos

Yahoo Finance Live: Daily Market Coverage - June 29, 2026 9AM-11AM (ET)
Yahoo Finance

Research to Reality: Bringing Frontier ML Research to Production - Vaidas Razgaitis, Higharc
AI Engineer

OpenAI Codex lead on the new shape of product work | Andrew Ambrosino
Lenny's Podcast

Turn 10,994 Notes Into Memory - Paul Iusztin, Decoding AI & Louis-François Bouchard, Towards AI
AI Engineer

Docker Explained in 6 Minutes (for beginners)
corbin

Ultimate GitHub Copilot CLI tutorial for beginners
GitHub

How Mapping Could Help With Climate Change
Forbes