Vibes won't cut it — Chris Kelly, Augment Code

Debunking the AI Coding Hype 00:19

  • Claims that AI will drastically reduce the number of software engineers are exaggerated and often made by those distant from real production environments
  • AI code generation is typically limited by pre-existing architectures and the constraints of large codebases
  • Much of the generated code offers little innovation because most major decisions about code and infrastructure are already made

The Realities of AI in Production Systems 01:31

  • AI generates code in the same programming languages as humans, but that code still needs to be maintained and run in complex, error-prone production environments
  • Production systems have emergent behaviors and require engineers to diagnose and fix unexpected issues
  • History shows technology adoption (e.g., DevOps, cloud) shifts roles but rarely eliminates them; instead, it raises the level of abstraction

The Limits of "Vibe Coding" 03:14

  • "Vibe coding" means letting AI write code without careful review or understanding of its output, which is inadequate for production-grade software
  • Writing production software requires meeting high reliability standards (e.g., "four nines" uptime) and handling large-scale data and users
  • The job of a software engineer includes making thousands of micro-decisions about architecture and implementation, not just generating code

Code Generation vs. Software Engineering 04:11

  • Code is merely an artifact of software engineering, similar to how blueprints are not the job of an architect
  • Writing less code is often better, as each additional line increases maintenance burden and potential for trade-offs
  • Major architectural choices (e.g., monolith vs. microservices) involve decisions that AI (LLMs) cannot handle, as they only generate patterns and text, not unique, context-specific solutions

Maintaining and Changing Software Safely 06:38

  • Core task of software engineering is changing software safely without introducing failures or reducing user experience
  • Approaches for safety include deep codebase familiarity, version control, robust testing, type systems, and controlled deployments
  • AI can potentially help by providing context, but production responsibility and risk management still falls on engineers

Adoption Patterns and Tips for AI Coding 07:54

  • Unlike previous innovations, professional engineers are slow to adopt AI code tools, possibly due to doubts about AI's current capabilities
  • Recent improvements in AI coding quality (such as the introduction of agents) have accelerated tool evolution
  • For effective AI co-coding, organizations should document standards, use reproducible environments, maintain easy testing, define clear module boundaries, and create concrete, well-scoped tasks

Practical Practices for Integrating AI into Engineering 10:44

  • Treat AI like any team member: provide clear instructions and tools, avoid vague tasks, and set clear standards and guidelines
  • Recognize that perfect code is not usually generated in the first attempt, whether by human or AI; iteration and testing are essential

The Importance of Code Review 11:16

  • Code review remains the most critical skill in engineering, more so as AI and agents write increasing amounts of code
  • Current code review tools are inefficient, and improvements are needed to handle AI-generated changes effectively
  • Training and hiring should emphasize code review capability over solving coding puzzles

Tips for Engineers Working with AI 12:09

  • Remember that AI may mimic human responses but is only generating text, not actually understanding intent; evaluate outputs critically
  • Accept differences in code style unless functionally necessary; focus on rules and guidelines to standardize where needed
  • Use context files specifying tech stack and guidelines with AI to get more relevant code outputs
  • Employ a "create-refine" workflow: have AI draft a plan or document, review and edit, then refine iteratively for best results
  • Productivity increases when focus shifts from forcing AI to match personal style to ensuring code quality and functionality

Closing Thoughts 15:11

  • Despite rapid changes, software engineering jobs are not disappearing, but evolving
  • Augment and the speaker are available for further discussion at the event