How software engineering is changing: a tale of two eras
Source
newsletter.pragmaticengineer.com
Author
Gergely Orosz
Date
Why it matters
A data-driven personal account of how AI coding changed one engineer's shipping rate across two eras. It gives concrete numbers rather than generic opinion on AI's effect on software work.
Key takeaways · AI-distilled
Neil Kakkar went from 8-20 merged PRs a month to 200+ at AI-native startup Tano, 11x his PostHog rate. He thinks a lone AI user at pre-AI PostHog, with mandatory reviews, would gain 1-2x at best, as the bottleneck shifts to PR approvals.
At Tano a Claude Code GitHub Actions review AI agentAn AI system that doesn't just answer once but works toward a goal in a loop — taking actions, reading the results, and deciding what to do next.Full definition → is usually the only review. New failure modes become review rules: after a blocking index migration on a 6-million-row table stalled ingestion, the agent now rejects blocking migrations on the largest tables.
Kakkar describes the cost of dropping human review: an agent assumed every currency has 100 minor units, which is wrong for the Bahraini dinar's 1,000 fulus, and skipped an existing currency utility. The team fixed it forward within an hour.
Kakkar reports new constraints: reactive thrashing between quick fixes and sprint goals, lost shared context windowThe maximum amount of text a model can consider at once — its working memory for the current conversation or task.Full definition → and a lower bus factor once nobody reads every PR, and mental exhaustion by 3 PM until he learned to pace himself.
Each Tano engineer gets one 20x Claude Max plan. Kakkar says his usage would cost $8,000+ a month at API rates, and that hitting the plan limit forces him to focus on the most important work.
Terms in this piece · Glossary
AI agent — An AI system that doesn't just answer once but works toward a goal in a loop — taking actions, reading the results, and deciding what to do next.
context window — The maximum amount of text a model can consider at once — its working memory for the current conversation or task.