Watched this video today. It talks about how migrations are some of the harder problems in tech, but, nobody likes to work on them :)
I actually LIKE such migrations:
- Challenging: Matt is very right - it is usually VERY hard to do this well.
- Meta: You get to learn how someone else did something - and have to understand it enough to refactor it away gradually.
- Rewarding: the migration usually needs to happen for some really interesting business/user experience reason.
Much of the focus of my professional life has been what I’d call “cleaning up other people’s messes” - migrating them from a messy/slow/non-expandable system to some new thing. Always during such projects one must think about how to elegantly migrate users from one system to another - ideally, without them even noticing. That’s the part I like the best - if I can pull it off without users noticing, I feel extra clever.