I Hate Data Migrations
I love data. There, I said it. “Wait…the title says that you hate data migrations? What gives?” If you read the title and the first line and said “yep, makes sense”, you’re in good company. Data is complicated, and often inconsistent (especially user input data, sigh). You always hope you’ve put everything in place to keep it consistent, but at some point something will undoubtedly go wrong. You cannot account for every situation that will arise will developing software (or building anything for that matter). If you can, congratulations, that’s awesome, but you are the exception to the norm.
Maintaining a consistent data structure has to be one of the hardest things I’ve done as a software engineer. CSS may be more frustrating, but you can at least rapidly iterate on finding the solution. Additionally, even though CSS is arguably the most front-facing part of your application, and you may get the most complaints that boil down to a CSS issue, it usually won’t cause a war room situation. Just a critical priority hot fix. If the data is off in one place for one account, it can send the entire company into a panic. “What’s wrong? Why is it off? Is it system-wide or just a one-off? How long has this been happening? How quickly can we diagnose and fix it?” How confident are we that this cannot happen again?” And the list goes on and on. It’s highly stressful and can lead to multi-day war rooms. Not fun. If you are a young, budding engineer, it can be a great time to learn from your senior counterparts, but be prepared for everyone’s worse tendencies to come out. You’ll possible feel inadequate. That’s all okay, you are learning. But anyway, back to data.