The world runs on legacy code. For every greenfield progressive web app with 100% test coverage, there are literally hundreds of archaic line-of-business applications running in production — systems with no tests, no documentation, built using out-of-date tools, languages and platforms. It's the code developers love to hate: it's not exciting, it's not shiny, and it won't look good on your CV — but the world runs on legacy code, and, as developers, if we're going to work on anything that actually matters, we're going to end up dealing with legacy. To work effectively with this kind of system, we need to answer some fundamental questions: why was it built this way in the first place? What's happened over the years it's been running in production? And, most importantly, how can we develop our understanding of legacy codebases to the point where we're confident that we can add features, fix bugs and improve performance without making things worse?
Dylan worked on the web application stack at Spotlight (www.spotlight.com) from 2000 until 2018 — first as a supplier, then as webmaster, then as systems architect. Working on the same codebase for nearly two decades has given him an unusual perspective on how applications go from being cutting-edge to being "legacy".
In this talk, he'll share tips, patterns and techniques that he's learned from helping new developers work with a large and unfamiliar codebase. We'll talk about virtualisation, refactoring tools, and how to bring legacy code under control using continuous integration and managed deployments. We'll explore creative ways to use common technologies like DNS to create more productive development environments. We'll talk about how to bridge the gap between automated testing and systems monitoring, how to improve visibility and transparency of your production systems — and why good old Ctrl-Alt-Del might be the secret to unlocking the potential of your legacy codebase.