When you support a big system that runs 24x7, you are going to get those late night support calls. But you can try to minimize their frequency. That gets done by applying best practices to your development. Let's talk about some controversial best practices.
The first is that you should not mix data from development, test, and production servers. Now I can agree that production should never mix with anything else. However on my project we do share some development data with the internal test team. This is not optimal as it does not allow test to add the most value. But sometimes they need some data from development.
Next I have heard it said that you should not roll your own caching techniques in your application. This one is debatable. I recall when users were complaining about 15 to 45 seconds of delay to do a repetitive task in our application. That was unacceptable. There were some optimizations that gave us a few seconds. However the eventual fix was for me to implement an optimized caching system that I wrote. The customer was happy. So was no. No harm done I say.
In the next post on staying away from work on night, I will go over practices like queues, staging, and unit testing. Until then, I hope you do not get the late night call from work.
A Little Bit of Crypto - I have been trying to figure out to "collision resistant" some of these standard hash functions are. It is a tough concept to get my head around. I figure...