I've worked with "legacy software" both professionally and in my free time. The kind of codebases people don't want to touch anymore for whatever reason. Across all codebases there's always a common theme: the ideas at their core are solid.

The engineers before me came and made a product with the knowledge and resources at the time. Built entire in-house frameworks in their little own application to serve their needs.

Need to bridge 2 chat protocols? Write the socket code for both
Need to write tests? Write your own test suite
Need to gather answers from a customer? Write an app around the questions and answers given
Need to make a design for a website? Write it from scratch

It's always so fascinating to dig in with an air of smugness that I can do better, only to end up making the same thing that came before

This post has been inspired by my recent work on https://codeberg.org/poezio/biboumi which people haven't wanted to work with given it's C++, as opposed to python and rust which have been more popular lately in these environments

Also from some conversations at work surrounding an old-but-not-that-old app written in CSS and HTML, as opposed to the new CSS-in-JS styles

There is truly nothing wrong with the technical choices done by the people who came before! And at the same time there is nothing wrong with the choices done by new people coming to a project

But please, don't mistake old for bad. Do take the time to understand and empathize with what is there from before. You might learn something new. I sure did!