When the dung hits the fan, everyone wants the problem fixed yesterday.
If you are the kind of person who thinks-ahead and prepares for bad situations, it is probably because you have some experience in this matter, or you received some really good advice at some point in your career. Most likely, it is the former. Because, without the experience, it is hard to fully place a value on being truly prepared.
For programmers, there are a few things that every programmer should do to prepare for disasters and bad situations. Specifically, it is best to write your programs with ample diagnostics in each one. If you don’t know what I mean by “ample”, then let’s just say excessive diagnostics.
Of course, inexperienced developers will question the value of this sort of thing. Inexperienced management will also question the value of it. After all, it is a simple corner to cut. “Why do we need that? When will we ever use it? I don’t see this in the business requirements. This is out-of-scope”.
You don’t fall for it because you know better. You know that these diagnostics are your “metal detector” to find the needle in the haystack. Someday, something bad will happen in prod. Things will crash and catch fire, and people will be screaming. At that moment, you will somehow be able to stay comfortable and keep a level-head. This is because you know exactly where to look to find the problem. You don’t even need to say “I told you so”. Even flashing “the look”, will probably seem excessive. At this moment, the reward is so satisfying. It is hard to describe. You knew it was coming someday. Today, you reap the rewards of being prepared.
I promise that you are better-off with a somewhat smug, but none-the-less happy, “I told you so”, instead of a panicky and angry (with undertones of violence) “I told you so!!!!”.
Be that guy, not the other guy.