When I was in my first few Months at McAfee (Foundstone Security startup at the time) we had just finished version x of our Enterprise focused Vulnerability Scanning software. There was a lull between releases as customers started getting the new rollout of the software as it passed through our QA department (hi John!). It was a long march to the finish, the team lead (let's call him Dietrich, cause that was his name) at the time decided a much needed break was in order and he was going to head to Joshua tree for a weekend camping trip (which was purposely I think out of cell range) with the family. He left on a Thursday and wouldn't be back until the following Monday. I was next in charge in the dev team for the web side of the application and still wasn't quite up to speed on some of the core complexities of the application's internals and libraries. I thought how bad could it be, just a day to cover for him and Monday would be back to normal.
Friday afternoon our CTO and software manager ran over to my desk around 4:30pm and said "Customer X just found a major bug in the new release and we can't leave until we get a fix out for them". Customer X was our largest customer at the time and the deal was easily in the 7 figures so we all took it quite seriously. To be honest I cannot remember what the actual bug was right now, but I do remember be thrown into custom PHP extension hell(windows), a SOAP layer Dietrich had written himself(NuSOAP), and other internal libraries trying to track down where this semi-reproduceable bug was coming from. I also distinctly remember the CTO at the time getting pricing on helicopter services to actually fly to Joshua tree to pick Dietrich up as a solution was not readily presenting itself in the first hour and we couldn't get a hold of him. No pressure!
By 12:30am I was deep in code I've never seen prior to that day with our manager and CTO at my desk every 5 minutes for an update. I eventually I did find the subtle, elusive bug. There was a great sense of pride being thrown into the fire and coming out on top as a patch went out by 1am saving Dietrich from a Saturday morning helicopter ride. That single afternoon was a major jump in both confidence in the codebase and my abilities to handle the pressure situations. Had Dietrich been readily available I would have just probably gotten an answer in 5 minutes and not have had to plow through all that code, losing the opportunity to really understand the deep logic of the application at that time and keeping the status quo that vacations were dangerous to a startup.
There was another life lesson I took away from that incident, something I carry to this day. Sometimes a vacation is not only beneficial for you, it's beneficial for your team. I'm sure Dietrich didn't plan to take this time as proving ground, he just wanted a well deserved break. However, since that day when I go on vacation I make it known I will not be in range, nor available apart from the most extreme of emergencies.
As a team leader you need to instill a sense of can-do attitude for your team and let people realize the company is bigger than a single person, that everyone is replaceable. There is a big difference between someone reviewing your code to keep up to date on a project and having to deliver a time critical fix to it's deepest complexities. It's when you find out what you're made of. A vacation should be a time for you to escape from the pressures of work and rest your mind, taking solace that this time is training grounds for your team, that emergencies are good and both you and team will return stronger than when you left.
It's been over two years since I've taken a vacation (which I'm on while writing this post) and I can only hope someone at the office is going through hell in my code right now so they can come out stronger, as it did for me.