In defence of legacy systems

Legacy systems is probably the dirtiest and most reviled work in tech. After all at my job in Booking.com for the last 3 years I have mostly worked on projects which fall under that so fashionable term ‘digital transformation’.

However, while working with other developers, I often find a desire to start afresh to avoid the complexity of legacy systems without attempting to contemplate why that complexity exists in the first place.

Its perhaps expressed most eloquently by Pat Helland through this quote

The best place to build a subway is in the open cornfields of Nebraska.

Of course, it makes no sense to build in Nebraska because there is no demand for it and while it’s harder to build a subway in a metropolitan city, thats where there is the most demand for it.

Similarly, legacy systems evolve to their current level of complexity because they solve important business problems. Trying to understand and then simplify that complexity can be incredibly rewarding for both your company and your career.

I believe Paul Graham alluded to this in a very different context in his essay Schlep Blindness.