Speaker
Abstract
Legacy systems are often treated as a necessary evil: work to be endured rather than an opportunity to develop technical judgment.
I spent about five years early in my career on legacy systems while other engineers got the clean-slate projects, and it felt like falling behind. In hindsight, it gave me a front-row seat to decisions and their consequences, which is where most of my judgment came from.
Most of a system's life happens after it ships. Staying through that long tail teaches what design reviews and tests rarely reveal: how workarounds become permanent infrastructure, how partial failures leave systems in unplanned states, and how growing operational burdens can make critical systems unsustainable.
I'll show how those lessons shaped my later decisions as a Staff engineer, including the technology behind a messaging platform that grew to 740+ million messages a day. I'll also share where judgment alone fell short, as a schema ecosystem outgrew its governance, and why sound technical judgment also requires organizational understanding and influence.
You'll leave knowing how to find high-leverage legacy work, make its burden and value visible to different stakeholders, and carry its lessons into the systems you design next.
Key Takeaways:
Understand how living with systems over time builds technical judgment that design alone does not
Evaluate technology choices by their long-term operational and organizational cost of ownership
Prioritize legacy improvements that free up outsized team time and reduce risk
Communicate the burden and value of legacy work to technical, organizational, and business audiences
Use legacy experience to develop the broader judgment needed for senior technical leadership
Interview
This session explores how working with legacy systems builds technical judgment by exposing engineers to the long-term consequences of architectural decisions. I’ll share real engineering stories, from a phone in a lockbox that quietly ran a production feature for more than three years to a messaging platform that grew to move 740+ million messages a day.
Along the way, I’ll show how lessons from maintaining and evolving existing systems shaped my later decisions as a Staff engineer, and where that judgment alone wasn’t enough. This matters for senior engineers because their decisions increasingly outlive their own involvement, and someone, someday, will inherit the other side of them.
AI is accelerating how quickly we can build software, but the long-term consequences of our decisions haven't disappeared. As implementation becomes easier, sound technical judgment becomes even more valuable. Leaders need to ensure engineers develop that judgment through exposure to production realities, not just new development.
Most of the signals that shape an engineering career, from interviews to design reviews to promotion packets, celebrate designing and launching new systems more visibly than maintaining and evolving existing ones. As a result, engineers often move on to the next project before they can learn from the long-term consequences of their decisions, and they may underestimate the operational and organizational costs their next design will create.
Those who do take on legacy work face their own challenges: understanding accumulated dependencies and operational burdens, identifying high-leverage improvements, and making the value of that work visible across the organization.
I’d encourage attendees to pick one system they maintain or have inherited and work through three questions. What assumptions have proven wrong in production over time? What operational burdens have accumulated around it, and who is carrying them? And what would you design differently if you were starting today? The answers often point to the highest-leverage improvement to make next, and they become the judgment you can carry into the next system you design.
The Technical Judgment Field Guide I’ll share at the talk includes worksheets for going deeper.
I appreciate QCon's emphasis on practitioner-led talks that go beyond technical implementation to explore real-world engineering decisions, tradeoffs, and lessons learned. Its focus on experienced engineers and technical leaders creates an opportunity for conversations that connect architectural choices with the organizational realities of building and operating software.
I still remember Jessica Tai’s talk at QCon San Francisco 2018, “Airbnb’s Great Migration: From Monolith to Service-Oriented.” At the time, moving from monoliths to services was the hot architectural trend, much as AI is today. Looking back, it’s interesting to see how the technologies that capture our attention evolve over time, while the fundamental challenges of making sound engineering decisions remain remarkably consistent.
Topics
$3,250, Conference (3 days). Current pricing ends November 20th. All pass options.
QCon San Francisco 2026 is a three day conference for senior software engineers, architects and team leads. An international program committee of working engineers selects every session. Patterns and practices, not products and pitches.
Slides & video
Slides Not available
Part of the track
Code Beyond Engineers & Engineering Teams Hosted by Suhail Patel Member of Technical Staff @OpenAI, Previously @monzoFrom the same track
Wednesday 18 November
10:35 Seacliff ABC Session Builder-Driven Development: Rebuilding the Organization Around the Builder Jyothi Nookula Product Leader Director with 13+ Years Driving AI Product & Platform Innovation, Previously @Meta, @Amazon, and @Etsy Most teams still run agent development the way they run traditional software projects. Requirements are written up front, builders execute against them, and a demo closes out the cycle. That model works poorly for agents, because the most useful information rarely comes from a planning document. 11:45 Seacliff ABC Session Staff Plus Engineering Legacy as Leverage: How Brownfield Work Builds Technical Judgment Shine Garg Founder of Uncharted Path Breakthroughs, Former Staff Software Engineer, 15+ Years Building and Scaling Backend, Data, Machine Learning, and Platform Systems Legacy systems are often treated as a necessary evil: work to be endured rather than an opportunity to develop technical judgment. 13:35 Seacliff ABC Session AI/ML Product Engineering: When code costs nothing, what's next? Laurie Voss Head of Developer Relations @Arize AI, Co-Founder of npm, Inc., Developer for 30+ Years Coding agents produce 741% more code, and only 30% more software ships as a result. The gap is human review: people top out around 400 lines an hour and agents are not slowing down. This talk is for engineering leaders trying to decide what to do about that. 14:45 Seacliff ABC Session AI You Can't Read the Code Anymore - Verifying Software in the Age of AI Omer van Kloeten Principal Engineer @Forter, 25+ Years in Software Engineering, Now Building an AI-Agent Framework to Tame Legacy Systems and Reduce KTLO AI writes most of the code now, so the hard part of engineering has moved from authoring to the part we’re worse at - verifying. With the incentives all pushing toward shipping faster and faster - the rational move is to skim the diff, click through a little manual QA, and ship on vibes. 15:55 Seacliff ABC Session When Everyone Can Code, Who Owns Production? Sanjay Singh Staff Software Engineer @LinkedIn Specializing in Large-Scale Distributed Systems, Traffic Infrastructure, Reliability, and Zero Trust Security AI is making it dramatically easier to create and change software, but writing code is only one part of the software lifecycle. Every change still needs to be deployed, observed, operated, diagnosed, and kept reliable in production.