I recently realised that a large percentage of engineering decisions I’ve been involved with have not been made on a purely technical basis.
In the above photo, the railway company needed a new walkway. The old one was a mess, didn’t have disabled access, and inconveniently ended at the very end of the platform, so they built a new one, with a ramp down to the middle of the platform.
What did they do with the original walkway? They put a cover on it. There it sits, a structure that nobody can use. The ground in front of it is covered in moss. If anyone were to go into it, it might be dangerous. Occasionally, when they’re working on other structures in that station, they have to navigate around this redundant walkway, or even maintain its structural integrity.
If you think this metaphor needs explaining in terms of the code we leave behind, or the redundant bits of design, then you’re about to be disappointed.
A great piece of software engineering does not carry the scars or shadows, or holes made by historic decisions that were reversed.
For very good reasons.