We don't write code anymore Sanity engineering manager Vincent Quigley reports that his team of senior engineers now writes less than 1% of code by hand, using AI agents as the primary development surface. The shift has transformed the engineering pipeline, making review and judgment more critical than writing code. Quigley argues this represents a fourth generation of coding, where AI-first workflows are the default, enabling smaller teams to accomplish more while demanding new skills in managing AI agents. We don't write code anymore An engineering manager’s field report from an AI-first engineering team Vincent Quigley Software Engineer Manager Published Table of Contents The four generations of coding 3495150dc23b Code was the cost. The product was always the point. de8542476966 The development pipeline has changed 66924fddc6bd You’ll need to hone your reviews 77c0d9e29a5c The merge is not where it ends d0679747aa52 The uncomfortable parts 23d4fa21289e It costs enough money to make your head turn 48350a634046 AI accelerates what is already there a318fddd1c75 Slop is unacceptable 6bd716f30054 Intent === ownership 639945061701 Review is now a larger part of the job f1a898a14c36 The work can be exhausting 7bd26895fcdb What this changes for teams 1f460e4620ba Managing people managing agents 9f7c3aad2a22 Smaller teams can do more 3d52f3ded117 What this changed for me 17b22cf19910 You should be in the room 0690b393beec Something has shifted in software engineering. Not in the abstract, future-of-work sense. In the daily mechanics of how code gets planned, produced, reviewed, shipped, and monitored. I think we are now in the fourth generation of coding. The deliberately uncomfortable version is that we no longer write code. This is a field report on how my team works now. I'm Vincent, an engineering manager at Sanity who still codes, and I have been using AI in engineering work for about 2.5 years. Nine months ago, I moved into AI-first workflows and wrote about that journey in " First attempt will be 95% garbage /blog/first-attempt-will-be-95-garbage " when everything felt new and uncharted. This post is about what changed after AI-first workflows became the default. Over the last few months, my team has become AI-first; we build, release, and monitor software with AI as the main working surface. I mean "we no longer write code" literally enough to be useful, but not so literal as to be silly. Code still gets produced. Pull requests still get reviewed. Systems still ship. What has changed is the job's center. A few weeks ago, I asked the team how much code they still write by hand. This is a team of senior engineers, each with at least 10 years of experience. One person said 1%. Another said they had tried writing code directly, then found themselves going back to the agent because it no longer felt like the intuitive path. That can sound scary. I do not think it needs to be. That changes what engineers need to be good at, how teams should organize around the work, and what engineering managers need to pay attention to. This post is about those changes. The new development pipeline, the uncomfortable failure modes, and why judgment matters more when implementation gets cheaper. The four generations of coding The frame I use is that software engineering has moved through four generations of abstraction. Each generation changed what engineers wrote, how they learned, and where the hardest problems in the job lay. The first generation was assembly. Engineers wrote instructions close to the machine. The work was coding registers, jumps, memory addresses, and manuals open beside them. It involved direct control and precise knowledge of the hardware. MOV AL, 61h MOV BL, 62h ADD AL, BL The second generation was high-level languages. Engineers moved from machine instructions into languages like C and BASIC, and later C++, Java, Python, PHP, and JavaScript. The compiler or interpreter became a major part of the feedback loop. It told you when you had broken the language’s rules, and it gave you a higher-level way to describe what the machine should do. include