When you work for a client, as I have, you get a lot of emergencies. They need something done right now and not in the morning. They don’t care that it is three in the morning and you are half passed out from a night of Call of Duty. They need you.
How I learned my lesson
The worst client I ever had for this was a large call center in Manila. At the time, I lived in Las Pinas, Cavite which is about an hour on open roads. If you ever have been to Manila, you know open roads happen about two times a year. Manila is truly a city that never sleeps.
They would call me at some ungodly hour with this basic message, “Our servers are down. Our guys tried and just make it worse. How soon can you arrive?” I wanted to just reply “Sometimes between 8 to 5, you know, normal business hours.”
Sadly, I would throw on a shirt and make the drive to Makati to help get them back online. You can’t make money if the client can’t make money to pay you. I had done this many times…. including driving through the middle of Typhoon Ondoy, one of the worst hurricanes to come to Manila…. I did it on my Kawasaki Ninja. I am sure that the military that I passed was thinking, “what a dumb ass.”
As a Developer, what you should do.
1) Include it in the contract. If you know there will be late night problems, include an “after hours” price addon. You should be reasonable with it but also not be free either. I use to charge 150% my rate until midnight and 200% from Midnight to six in the morning.
2) Don’t live an hour away. When I took that contract, I live in an hour away from their operation. If you have clients in an hour, try to live closer to that area. Traveling at three in the morning in a storm is no fun.