Don't Waste a Good Mistake

You just pushed some code that really screwed things up. This is not good.

But it doesn't have to be all bad. While things are actively broken and you (and possibly others) are working to fix them, this is a good chance to hone your ability to problem solve under pressure. You can also learn a lot about how other people diagnose and fix problems during these times.

Once things are stable, you can think about why things were able to go wrong. It's almost never as simple as "you shipped some bad code". What allowed you to ship bad code? Could there be a better review process? Better testing environments? Better monitoring? Better automated testing? Many organizations perform a "root cause analysis" for major incidents to try to figure out what fundamental things could be improved in order to prevent recently occurring problems.

Mistakes can be expensive lessons, but they're often very valuable.