There’s nothing more frustrating than not being able to deliver new features because of unnecessarily complicated code. You may decide it’s time to throw it all away and start over… and what starts off full of optimism, drags on for months and months, adding even more complexity and various levels of legacy.
It doesn’t have to be this way! In this presentation, you’ll hear a first-hand experience of how to approach technical debt at its worst, and how a rewrite project was successful in more ways than expected.
This talk will teach you lessons on how to start, and most importantly, finish a big rewrite project. You will learn how to approach the conversation with the “business”, avoid the most common pitfalls when changing the architecture of a complex codebase, and ensure the rewrite brings value from the start till the very happy end.
Starting, executing, and landing big rewrites
Tech

Related content
7 generative AI productivity hacks for developers

SRE for engineering managers

Can platform engineering help you do more with less?

When to migrate from a monolithic to a distributed frontend architecture

Let's mitigate bias in tech

The essential tools for software engineering managers

Kubernetes for engineering managers

CONTENT SPONSORED by CHRONOSPHERE
Solving the mean time to repair problem

CONTENT SPONSORED by SPLUNK
The relationship between observability, OpenTelemetry, and UX

CONTENT SPONSORED by SWIMM
Will ChatGPT and generative AI replace internal code documentation?

CONTENT SPONSORED by ADOBE
Riding the ever-changing waves of front-end development

CONTENT SPONSORED by ADOBE
The business case for headless CMS - a quick guide for developers

CONTENT SPONSORED by ADOBE
What makes a front-end developer in 2023?

Observability for engineering managers

The case for and against building ChatGPT into your developer workflow

CONTENT SPONSORED by CHRONOSPHERE
How to pay down your monitoring debt

CONTENT SPONSORED by CODE CLIMATE
Using cooperative gaming to drive positive engineering change

CONTENT SPONSORED by LINEARB
The workflow metrics that make elite dev teams

CONTENT SPONSORED by DEEPSOURCE
The four pillars of code health

Five reasons you shouldn’t rewrite that code

How to bring order to chaos engineering
.png)
CONTENT SPONSORED by DEEPSOURCE
A guide to measuring and improving code quality
.png)
CONTENT SPONSORED by DEEPSOURCE
Ways your teams can (realistically) prioritize code quality


Fixing broken windows: How to deal with legacy systems

CONTENT SPONSORED by PLATFORM.SH
Switching cloud infrastructure solutions? Follow these three steps.

CONTENT SPONSORED by PAGERDUTY
The five stages of digital maturity

What is tech debt and how can you explain it to non-technical peers?

How to get engineering teams on board with accessibility
_0.png)
CONTENT SPONSORED by INSTANA
Introducing AIOps: The new trend for repairing software issues

How to refactor legacy systems by creating application seams

CONTENT SPONSORED by HONEYCOMB
How Eve Online uses observability to ease migrations
.png)
Introducing quality ratchets: A tool for managing complex systems

How to break the cycle of tech debt

How to estimate and communicate timelines when building software

Five ways to care for your open source contributors

CONTENT SPONSORED by INSTANA
How to make your team fall in love with legacy code

How to redesign your architecture to reduce technical debt

CONTENT SPONSORED by SHIFTLEFT
Four things you need to know from ‘Using open source safely and effectively’
.png)
CONTENT SPONSORED by CODE CLIMATE
Four ways to empower your team through data

How to empower your open source users and contributors

How technologists can reduce our ecological footprint
.png)
CONTENT SPONSORED by PAGERDUTY
How to manage toil as you scale

.png)
The principles and habits of healthy software

How to build software that’s ready for the handoff

Top 10 ideas to take into 2022
.png)
CONTENT SPONSORED by SHIFTLEFT
Using Open Source safely and effectively


Executing and evaluating a technical strategy at scale

How low (level) can you go
.png)
CONTENT SPONSORED by SLACK
Learnings from 'Carving a modern engineering org out of an enterprise’
.png)
CONTENT SPONSORED by GITLAB
Building security into your engineering workflow


CONTENT SPONSORED by PLURALSIGHT
Scaling engineering in tough times
.png)
Outages are coming for you
.png)
CONTENT SPONSORED by CIRCLECI
Building a successful and sustainable CI/CD pipeline


CONTENT SPONSORED by MOOGSOFT
Getting your engineers on board with observability

.png)
Making ‘Big Changes’ Successfully
.jpg)
CONTENT SPONSORED by SLACK
Forging the path to faster shipping in enterprise orgs
When planning long-term, favor accuracy over precision

Laying the foundations for a successful build

 (1).png)
Best practice for seamless product integration
 (1).png)

Sourcing the perfect product for your team
 (1).png)
 (1).png)
CONTENT SPONSORED by SLACK
A terrible, horrible, no-good, very bad day at Slack

Serverless is the new LAMP stack
.jpg)
CONTENT SPONSORED by SLACK
Living with legacy: landing boring change smoothly
.png)
Fostering a sustainable scaling strategy


CONTENT SPONSORED by NOTONTHEHIGHSTREET
Accelerating the journey from monolith to microservices

CONTENT SPONSORED by LAUNCHDARKLY
Weighing up the pros and cons of build vs buy
Reliability and more: preventing a crisis in engineering production

Driving inclusion with explainable artificial intelligence

CONTENT SPONSORED by SLACK
Carving a modern engineering org out of an enterprise


Strategies for inclusive product design
 (1).png)

The migration trap in software engineering

The thin line between technology advocacy and ideology
.jpg)
CONTENT SPONSORED by LAUNCHDARKLY
To build, or to buy, that is the question

How to fix a terrible on-call system
.png)
CONTENT SPONSORED by LIGHTSTEP
Designing for money and happiness in large-scale open source

CONTENT SPONSORED by PLURALSIGHT
Five ways data make engineering teams stronger

Carbon proxies: measuring the greenness of your application

CONTENT SPONSORED by CIRCLECI
Four key metrics for measuring DevOps success
 (1)_3_2.jpg)
CONTENT SPONSORED by PLURALSIGHT
Measuring and improving the efficiency of software delivery


Managing technical risk
.jpg)
Conversations you need to have before moving from monoliths to microservices

CONTENT SPONSORED by WORK & CO
Creating technology products that your customers love


CONTENT SPONSORED by BUGSNAG
Learnings from 'Tackling technical debt'

CONTENT SPONSORED by CIRCLECI
Cheerful deployments with CI/CD pipelines

CONTENT SPONSORED by PLATFORM.SH
Learnings from 'Managing complexity at scale'

What VCs want us to know as technical leaders
.png)
 (1).png)
Creating, defining, and refining an effective tech strategy


ICON Framework: Creating Value From Machine Learning

A tour of decisions in event-driven architecture

CONTENT SPONSORED by PLATFORM.SH
Embracing simplicity in your engineering team

CONTENT SPONSORED by PLATFORM.SH
Streamlining the management of multiple websites and apps

 (1).png)
CONTENT SPONSORED by BUGSNAG
Evaluating when it’s time to tackle technical debt


Gathering requirements: techniques for building a solid backlog
.png)
CONTENT SPONSORED by CIRCLECI
Delivering frontend experiences safely and continuously

CONTENT SPONSORED by PLATFORM.SH
Getting GitOps right

CONTENT SPONSORED by LAUNCHDARKLY
Learnings from 'Maintaining speed while minimizing risk'

CONTENT SPONSORED by BUGSNAG
Building realistic roadmaps for tech debt cleanup

CONTENT SPONSORED by LAUNCHDARKLY
Achieving speed and quality without sacrifice in engineering
 (1).png)
CONTENT SPONSORED by BUGSNAG
Measuring app stability to reduce technical debt
 (1).png)
CONTENT SPONSORED by BUGSNAG
Implementing a plan to clean up technical debt

CONTENT SPONSORED by PLATFORM.SH
Scaling held knowledge to unblock teams and untangle software complexity

CONTENT SPONSORED by LAUNCHDARKLY
How to unify speed and quality in software engineering
.png)
Writing accessible code

CONTENT SPONSORED by WORK & CO
Working in public: Nadia Eghbal in conversation
.png)

How to adapt your UI testing strategy to your product's stage

CONTENT SPONSORED by TWITTER
Accessibility from the start

A primer on engineering delivery metrics
.png)
Better Allies: Karen Catlin in conversation
.png)

Hypothesis-driven development

How demand shaping can reduce the carbon cost of our applications

The problem with "the platform"
.jpg)
Living without pre-production environments
.png)
How simplifying software can save your engineering teams' time
Changing attitudes toward legacy code


Supporting employees through redundancies and business closures
.jpg)
The Boring Stack

Scaling at the speed of COVID-19: lessons from the front lines of virtual healthcare

Tradeoffs on the road to observability
.png)
Avoiding “shiny object” syndrome when building software
.png)
Investing in your accessibility workflow
.png)
Avoiding the pitfalls of rebuilding software


Building and conveying vision


Lessons for frontend development at scale
.png)
Handling security issues as an engineering team

The benefits of delivering imperfect software

Using an 'architectural North Star' to align your engineering team with your organization

Introduction to functional programming

Navigating front-end architecture like a Neopian

Mobile development 10 years on: native vs. cross-platform

Shor's algorithm and how to avoid oncoming catastrophes

Building a culture of security for your infrastructure teams

Identifying and articulating the role of AI in your software design process

The possibility of AI-powered Javascript apps

Rejecting the black box: examining the implications and practicalities of testing AI

Documenting and communicating architectural decisions
.png)
Principles for managing product quality

The future of cross-platform is native
.png)
Using observability to detangle and understand production
.png)
Designing software to maximize developer productivity

Breaking down our understanding of system resilience

Vault and Security as a Service

Dealing with deprecated codebases

Case studies in building microservices

Intro to test-driven development

The Container Operator's Manual
.png)
Developing Single Page Apps in mid-sized companies
 (1)_4.jpg)
Legacy code: Big Rewrite or Progressive Rejuvenation?

An intro to functional programming

Strategies to Edit Production Data

Universal Apps: Architecture for the Modern Web
 (1)_3_1.jpg)
Creating Architecture and Teams at Less-than-Google Scale

Traps on the Path to Microservices
 (1)_3_1.jpg)
Improving Reliability with Error Budgets and Site Reliability Engineering
.png)
Everything You Need to Know About OpenAPI 3.0 in Ten Minutes or Less

Traps on the Path to Microservices
 (1)_3_1.jpg)
Better Incident Management to Reduce MTTR

Planning, executing, and landing refactoring

What engineering leaders need to know about blockchain

Creating observable microservices
.png)
The challenges and rewards of distributed teams


How to build a fully serverless application

Building Tech for the Non-Technical

Telling stories through your commits

Writing Modular CSS with CSS modules

The journey from monolith to microservices

The importance of pragmatism when building and maintaining systems

The technical journey to microservices

Building replicable dev environments with Docker
.png)
Plug in to LeadDev
Want to get regular updates on all things LeadDev? Sign up to our mailing list
To find out more about how your data is handled check out our Data Promise

