3 ms·
Arguing for simple architectures is hard. Everyone wants to argue that yes, they ARE going to need it. Maybe not now but someday, therefore they should have it
by emseetech 3y ago
Arguing for simple architectures is hard.
Everyone wants to argue that yes, they ARE going to need it. Maybe not now but someday, therefore they should have it.
Always reminds me of this scene from Arrested Development.
https://www.youtube.com/watch?v=VVtOkX-gUxU&t=132s https://www.youtube.com/watch?v=VVtOkX-gUxU&t=132s
- bluGill 3y agoI've been in the situation where someone argued we didn't need something so go simple - turns out they were wrong (isn't hindsight nice) but now the system was based around this incorrect assumption and really hard to rework into the thing we needed. This is why architecture is hard. It is about making the decisions in advance that you will regret getting wrong.
- emseetech 3y ago> now the system was based around this incorrect assumption How big of a userbase and what made it particularly difficult to refactor?
- bluGill 3y agoI work on embedded systems so userbase isn't really a concern. However we have > 10 million lines of C++, and the change would have been a major refactoring of most of them.
- emseetech 3y agoSo I'm assuming this decision was made quite a while ago? Years, maybe even over a decade?
- bluGill 3y agoIt took a decade to find the data to show that this decision we made 10 years ago was bad - for those entire 10 years we all thought it was good until we we looking at a performance issue and realized the roots case what a decision made in the early days had an unexpected side effect.
- emseetech 3y agoCongratulations on your success. Legacy code is never easy to work with, but it's a good problem to have because it means you survived where hardly anyone does.
- bluGill 3y ago10 years ago this was a greenfield project that was just getting the first release. Today it is a legacy project that is bringing in a ton of $$$.