How to not fail in front of 43,000 people: The importance of following up
43,000 is a pretty small number in the web 2.0 world.
However, it’s a pretty big number of people to fuck up in front of. Here are a few lessons I’ve learned the hard way on how to avoid major embarrassments.
Track errors
This one is obvious. Use something like hoptoad or exceptional to track errors. While error tracking prevents customers from seeing actual error pages, the rest of the tips below are geared to avoiding silent problems.
Follow up on anything weird
Any bug report or feedback you get that sounds crazy or out of the ordinary might be the first and only warning of a big problem. Don’t ignore these just because they sound like crazy users.
Follow up on your intuition
That annoying feeling in the back of your mind telling you that a major bug is happening is probably correct. When you have this feeling, go through all of the recent minor bugs and make sure that you didn’t miss anything.
Where there’s one, there’s usually more
Any time there is a problem in one area of the code, it’s likely that you or one of your developers made a similar mistake someplace nearby. This means that for every problem, you should analyze what the code issue was, and then try to find out where else that problem might be occurring. Failing to do this results in having an embarrassing and time consuming string of similar errors.
Manually test env changes
Environment code (for example, changing stuff that’s only used in production) is often untested. This means that changes to it aren’t caught unless you manually test them.
Track 404s
Cucumber test literally everything
Weird edge cases tend to get solved and forgotten. This means that when it comes time to change code, the edge case fixes often get lost in the dust, making them reappear. To avoid this, just bite the bullet and write tests to prevent regression, even when it seems trivial.
The process should be: find the problem, write a test that reproduces it, change the test to test for the desired behavior, make the test pass.
What else?
Drop me an email at f.mischa@gmail.com if you have any other suggestions and I’ll add them.
July 24, 2009
