I was working on the NT team working on the NT browser. I was also preparing for my first major vacation in about 8 years – I was going to take 6 weeks off to visit Worldcon in Orlando, spend some time at Disneyworld, and visit my family on the east coast to show off the new baby. This wasn’t going to be a problem because Windows NT’s beta was scheduled to ship in July and we weren’t planning on leaving until Labor Day, I figured that 2 months would be sufficient padding. Unfortunately events conspired against me.
Early in the summer, the Windows for Workgroups 3.1 team unveiled a new architecture for the computer browser service that was a fully distributed client/server architecture (designed mostly by Henry Sanders, long before he was made a distinguished engineer). Not surprisingly the NT browser wasn’t compatible with this new architecture so I spent the summer scrambling to rewrite the NT browser to be compatible with the WfW browser. By the end of the summer, I thought I'd gotten all the kinks out of the browser and was ready to go on vacation. Unfortunately the beta had slipped by that point and it was scheduled for late October – about a week after I was scheduled to return from Vacation.
My boss was worried about the fact that I was checking in a major change a week or so before i went on vacation (there was a long tradition on the NT team of developers doing this) and that I wouldn’t have time to react to any issues that came up when I was gone so he insisted that I take a laptop with me (this was 1992, the laptops available then were remarkably bulky compared to the machines of the day). I dialed into the Microsoft remote access servers from Florida every day on my “vacation” to check on how things were going. The lightning storms that were happening daily wreaked havoc with the 9600 baud connection on the machine. Not much of a vacation really since I had to continually keep thinking about work.
About a week or so into the vacation, it became clear that things were not going well in browser-land - the WfW browser developers had rolled out a brand new version of the browser protocol which was incompatible with the old version and it was critical that the NT browser interoperate with the WfW browser (the WfW 3.1 team was going to ship before our beta release). So he asked me to come back to Seattle in the middle of my vacation.
Because the product was in crisis, I flew back to Seattle for a week in the middle of my six week vacation and worked 18+ hour days non-stop all week to adopt the browser to the new protocol. I finally was finished and checked in my code and again went back on vacation.
There were still a bunch of bugs that needed to be ironed out that were discovered while I was gone, and I’d missed a couple of important issues that had to be fixed during the remaining 2 weeks of my vacation, but for the most part the browser worked ok for the beta – it was far from high quality in the beta but it at least worked, so the return from my vacation was “worth it” (for some value of “worth it”).
The good news is that Microsoft’s culture has changed sufficiently since then that I don’t think it’s possible for any such event to occur. And more importantly, I don’t think I’d ever let myself be put in that position. Having to return from the vacation essentially took a relaxing vacation and turned it into a mild nightmare.
Oh, and if it wasn’t obvious from the above story, my son Daniel was born in January of 1992 :).
>>> The good news is that Microsoft’s culture has changed sufficiently since then that I don’t think it’s possible for any such event to occur.
I think that these kind of events can be kind of fun, especially if you get important reward for that hard work.
IIRC, I read in the book "Show Stopper!" that in that age at Microsoft people worked *very* hard to build NT, but they also got lots of money thanks to stock options (or something similar).
Moreover, I think that in that period you all at Microsoft were building a very robust foundation (NT) for the technology we have today, and this kind of gives an important sense of "mission", of "motivation".
BTW: These posts about the history of Microsoft are great!
I would like if you could also post some details about technical problems you were facing at that time, and how you solved them. For example, in that time I think that memory was very limited (not 4 GB of RAM like we have available today on most machines!), and CPUs were slow, so you had to write very optimized code, both in space and time.
And it would be interesting to know which tools you used: did you write code in assembly? Or pure C? Or C++? What tools did you use for versioning? etc.
Up until NT, I wrote almost entirely in x86 assembly. When I joined the NT team, one of the really senior devs told me that if he ever caught me writing a line of assembly, he would personally provide me with a new oriface :).
Thanks Larry, I love this series! :-)
Just like the one from your colleague Raymond Chen (TheOldNewThing) & Mark Russinovich + the going deep series in channel 9.
It really opens up Microsoft and gives a nice insight int ohow thing work/worked.
And funny along the way ;-)
We started working with the beta of NT in a (very important) project. The project was a succes, so you working vacation payed of for us. Thanks.
But I agree, it can be fun to do such thing in the early stages of your carreer. But later on, you do not want to experience that again!