Working with legacy software can teach you a lot about your own values.
Most people would rather run a mile than work with “heritage” technology. But they are missing out on developing a problem-solving mindset.
Inspired by Zen and the Art of Motorcycle Maintenance, here’s some new tricks for old code.
Respect your forebears. They didn’t know what they were doing either.
How can you know the constraints that previous developers worked under? The limitations of their tools or the organisational politics they faced?
The great thing about looking at the past is that it's hard to lie backwards whereas it's easy to lie about the future, especially where software is concerned.
Take these lessons from the past into your next modernisation project.
Balance the romantic and the rational
Hoping for the best by planning for the worst.
Live in the moment and appreciate small wins. Equally though, know the details and analyse the inner workings.
Be obsessive but functional
You don’t have to be crazy to work here but it helps.
You need to relate to the crazy mess but don’t over analyse. Legacy systems still need to be used everyday so be patient with the programming and the people.
Overcome the “gumption traps”
A gumption trap is something that discourages you from continuing.
You will experience both setbacks and hang-ups - anxiety, boredom, impatience. Rely upon facts, intentionally slow down (rather than speeding up) and regularly reassess your knowledge.