Introduction
- A Misleading Debate
- What This Book Is About
- A Recurring Idea
- Practical Examples
- The Central Idea
- Who This Book Is For
Chapter 1. The AI Shift in Software Engineering
- 1.1 A Shift That Is Already Happening
- 1.2 Two Misinterpretations of Generative AI
- 1.3 History Repeats Itself
- 1.4 When Production Becomes Cheaper, Industries Grow
- 1.5 The Nature of Software Engineering Is Changing
- 1.6 What This Book Is—and What It Is Not
- Summary
Chapter 2. Allocating Engineering Decisions
- 2.1 What Is an Engineering Decision?
- 2.2 Decisions That Should Never Be Delegated to AI
- 2.3 Decisions That Can Often Be Delegated
- 2.4 Why Large Requests Produce Poor Results
- 2.5 Divide Features into Engineering Tasks
- Summary
Chapter 3. Recognizing AI-Friendly Tasks
- 3.1 Every Feature Is a Collection of Different Tasks
- 3.2 From Feature to AI-Friendly Tasks
- 3.3 The Decision Boundary: Where Engineering Ends and AI Begins
- 3.4 Transforming a Task into an AI-Friendly Task
- 3.5 A Complete Example
- 3.6 Developing the Skill of Decomposition
- Summary
Chapter 4. Reducing Ambiguity: Give AI Tasks With One Correct Direction
- 4.1 Reducing the Number of Possible Implementations
- 4.2 Do Not Ask AI to Discover Patterns — Define Them First
- 4.3 From Screenshots to User Interfaces
- 4.4 Build Solutions Incrementally
- 4.5 AI Is Not a One-Time Code Generator
- Summary
Chapter 5. Expanding Engineering Patterns with AI
- 5.1 The First Implementation Is the Most Valuable One
- 5.2 Case Study: Creating an Extensible Email Provider Framework
- 5.3 Extending Existing Patterns Without Losing Engineering Control
- 5.4 Turning Engineering Decisions Into Internal Frameworks
- 5.5 Engineering Creates the Multiplier
- Summary
Chapter 6. AI as a Knowledge Multiplier
- 6.1 More Knowledge Than Any Engineer
- 6.2 Onboarding and Exploring Unfamiliar Stacks and APIs
- 6.3 Deciphering Legacy Code and Domain Rules
- 6.4 The Obsolete Knowledge Trap: When Documentation Changes
- 6.5 Knowledge Is Cheap, Judgment Is Irreplaceable
- Summary
Chapter 7. AI-Friendly Software Engineering
- 7.1 The Codebase Becomes Part of the Conversation
- 7.2 Turning Project Knowledge Into AI Context
- 7.3 Earning a Place in the Codebase: Review and Responsibility
- Summary
Chapter 8. The Economics of AI-Assisted Software
- 8.1 When Software Becomes Cheaper to Build
- 8.2 Jevons’ Paradox and the Demand for Software
- 8.3 Productivity Is More Than Code Generation
- Summary
Chapter 9. The Future Software Engineer
- 9.1 What Becomes More Valuable
- 9.2 Education and Junior Developers
- 9.3 Why AI Won’t Replace Developers
- Summary