Dear Legacy Code,
We didn't talk for a while, and I hope you're doing well.
You're getting older, like me. I remind the good memories we have together. Like when I learned new tricks or new patterns with you.
We also had some more difficult times, like these memory leaks that took ages to fix (should I say hacked?). We grew together. And sometimes, growing is a painful experience.
As Virginia Woolf said, "Growing up is losing some illusions, in order to acquire others.". I've sometimes been unfair with you, and I apologize.
I've been rude, yelling to you, complaining about your poor design, or readability, when I was responsible for it.
It's true, sometimes I cut a bit too many corners, but most of the time, I was doing my very best to make you right and clean.
Requirements change, expectations too, and what was good enough in the former context, was not good enough at scale. And especially because we had great successes together. More customers, more users, more data, more scenarios to cover.
You always delivered value to our users, simplifying their day to day work, answering their pains. You also created a lot of value to our business, making it sustainable, allowing us to reach even more customers.
In our industry, legacy often takes a negative meaning. We commonly use legacy as a synonym for deprecated, too old, or painful. Legacy is also our heritage, our inheritance, with all the positive aspects. The business and technical learnings, the value we create, the problems we solve.
Don't worry. The brand new code we write today will be legacy tomorrow, literally. There are only two ways for this code to not becoming our legacy. It would mean this new code will not be used or useable in production. The other option is that we'll don't learn anything and that it would look as good as today in a few months. It will not happen.
Dear legacy code, I love you. You're reliable (most of the time). You create value; you made us and our customers successful. We learned and grew together. You're an invaluable asset.
We'll continue to improve you, to take care of you, to rewrite some parts to match our growing needs, to remove some parts making you simpler, cleaner and more readable.
Yours faithfully, Nicolas