I broke one of my own golden rules last night, never ever release or publish anything late at night when you’re tired. If you do the odds of making a mistake greatly increase. And unfortunately last night I broke this rule and a mistake did happen. Luckily for me the mistake was minor, but it helped to reinforce what I should have already known.
You see I published my latest blog entry How Much is it Worth to You? after midnight last night. Although I often stay up much later than midnight, I’ve been going to bed earlier in the last while to catch up on some much needed sleep. In any case, the issue is that I was tired and it was late for me that particular night. Normally in these cases I still go ahead and “publish” the article, but I set the “publish time” to be sometime the next day.
I do this because of several reasons, the biggest reason being that I’ll have had some time to rest and be more awake before it gets publicly released. In some cases I’ve had the time to rethink parts of my post and add more information, sometimes adjust the example, and so on. But overall it’s prevented me a few times from making silly and stupid mistakes.
Well last night I went ahead and pushed the publish button, deciding that I’d break my own golden rule just this one time. And this was my mistake!
Some of you might have noticed it, but I think I caught it before most of you did. What happened is that when I wrote the article I initially left the headline blank. I often do this because I couldn’t think of a good headline at the time I wrote the article. In these cases I just continue writing and come back to the headline later.
Last night I forgot to come back later and write my blog post headline. I left it blank. Above the title being blank, it also meant that my RSS feed subject line was blank. No so bad for a starting blog, but as you get bigger it will be noticed by more and more people. Like I said before, this was not a major issue, but it definitely brought the point of my golden rule home. Plus it’s better to fall and learn (or in this case re-learn) from smaller mistakes than from your larger mistakes.
And don’t think this doesn’t happen to large companies releasing major new versions of their software. To give you an example, early on in my programming career, long before I started LandlordMax, at least 10-15 years ago, I worked for a company where a short workday was 12 hours. And that included weekends (this alone has the makings of a DailyWTF written all over it). As you can imagine we were living in a perpetually tired state. Come release time there was even more pressure to work harder and longer hours. And I did, after all this was very early in my career and I didn’t know any better.
Well the obvious happened. Something eventually went wrong one day. Although I can’t remember the details any more, it’s all a big blur, but I do remember one major release that we’d been working particularly hard to get out the door. We’re talking barely enough time to go home to shower and eat at night (or should I say the wee hours of the morning), never mind sleep. Well eventually we made a mistake, and it was a bigger one. On release night, after what we thought was exhaustive coding and testing, we felt like the current release candidate was ready to go. We decided to release it. We were done. Phew. So we performed one last final build to run one last final test round on (remember this is a time before automated tests were mainstream). And we released it. Exhausted we all went home to catch a few hours of sleep.
Unfortunately within a few hours we were all called right back into the office. Our released version had a major bug. I wish I could remember what it was exactly, but I can’t. To be honest I suspect my brain has intentionally forgotten about it. In any case it was broken and customers were complaining. All hell was breaking loose.
Being already tired really didn’t help to resolve this issue quickly. But lady luck was on our side because it was a very simple mistake and we were able to fix it very quickly (I think it was something like the wrong language properties file was being picked up in the wrong build). So simple a mistake that had we released it in a waken state, well even in a just non-exhausted state, it would never have happened. As soon as we re-released it the phones stopped ringing and we were able to finally get some sleep.
Never ever release when you’re tired. But more importantly, had the issue been a complex or hard one to resolve we would have been in a lot of trouble. Having your development team completely exhausted trying to fix a critical and complex bug during a firestorm is an incredibly dumb place to put yourself into. Would you want to have triple heart by-bass surgery performed on you while you were in the middle of a heart attack by a surgeon who had slept only a few hours in the last week and was living completely on caffeine? Especially when there’s no need for it to be like this.
You can’t win every time, but stack the odds in your favor! Be smart about it. Don’t make my mistake. And you can be sure I won’t break this golden rule again, at least not for a very very long time.