3 ms·
This highlights why a design process is so important. It feels great to start with a clean slate and “just code”, and many seem to get rewarded for that in a “m
by orev 2y ago
This highlights why a design process is so important. It feels great to start with a clean slate and “just code”, and many seem to get rewarded for that in a “move fast and break things” culture.
However there always needs to be a plan on how to migrate data that uses the old way to the new way. It’s not as sexy, but it needs to be done and takes time away from building new features. Skipping the design process is tempting, but it’s a direct path to this type of technical debt that’s easy to foresee.
- martin_drapeau 2y agoYou can always refactor. Sure it takes time and effort but it is possible. And it serves as a good painful experience to invest more on design first, to your point :)
- atoav 2y agoThis is why it is important to consider what kind of software or software components are surviving the tests of time and using them as a guide for future software. As a software dev my gut feeling is that this requires the polar opposite of move fast and break things — instead of going for the obvious solution it requires you to think a bit more how data flows (or ought to) flow through the organizations using the software.
- deleted 2y ago[deleted]
- skybrian 2y agoYes, but more than a plan: there needs to be a well-tested schema migration process. Schemas can be upgraded. Sometimes you write to both the old table and the new table for a while. The best way to make this less painful is to get good at it, investing in the tools to make it easier. You can’t anticipate all design changes, but you can get better at making them so they happen faster. This means getting practice at doing them.