Reading the Story of Building Windows NT
I got my first computer at the age of 12. It ran Windows 95. Later, I learned that Microsoft had another version of Windows called Windows NT for professionals. I never knew that NT was an entirely different beast from Windows 95 until I read a book dedicated to the making of this operating system.
This book is entitled “Showstopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft”. I thought I’d share a few takeaways from reading it.
First, building production-grade software is really hard, not to mention a new operating system. The NT team put a tremendous amount of effort into testing, debugging, and optimization. The most difficult part of their job was often not about building out the features but making sure those features were not buggy or slow. As a result, the NT team was extremely careful and sometimes resistant to adding new features even when they sounded great.
Like other UX professionals, my eyes are usually on the part of the system the user sees and interacts with. But it’s important to bear in mind that adding new features to a production system is drastically more difficult from doing the same to a prototype or a research system. Proposals of new features ought to be weighed against the potential risk of introducing new bugs and overhead.
Second, there was little work-life balance for the people on the NT project. The pressure to ship was immense and the drive to rid all the “showstoppers” a deadline after a deadline was exhausting and exacerbated by the ever-growing complexity of the codebase. To deliver NT, project members slept in their offices, neglected their families, and developed mental health issues.
Was it all worth it? It’s certainly debatable. However, it’s good to see that the working condition in the software industry has certainly improved a lot since then at least in the US.
Third, the protagonist in the NT story, David Cutler, was kind of a brilliant jerk in today’s terms, if the author didn’t dramatize him. His zero tolerance on lapses, authoritarian style of management, and harsh criticisms of people who held different views made me feel fortunate that I didn’t have to deal with such a personality at my own work. Nonetheless, his strong conviction to the technical excellence of NT seemed to also make those around him believe in the project and follow him during the long and trying journey of shipping NT.
Fourth, the book revealed that the NT project was at times quite chaotic with competing priorities, messy office politics, and frequent conflicts between both individuals and groups. In the end, it all worked out, at least for this project. I guess one should expect disorder and disagreement in any project at that scale. Stay calm and carry on.
Last, being cross-platform is something people always wanted from software but it usually comes with a price. The question is whether the price is something customers can afford when it’s presented. One of the core tenant of NT was its independence from computer hardware architectures. That independence was achieved at the expense of NT’s performance. It consumed more memory and ran applications slower than DOS-based Windows. The NT team spent a huge amount of time making those disadvantages acceptable, but such tradeoffs still affected its initial adoption. Of course, NT’s efficiency overhead became much less of a problem as personal computers became more powerful at a rapid pace, thanks to Moore’s Law.
Overall, the book is a remarkable account of an influential software project that symbolizes ambition, preservation, and devotion. To write this book, the author interviewed more than 100 people related to the NT project. It’s also admirable that Microsoft was supportive of this book project and the company issued a note to reassure former members of the NT project that they wouldn’t be punished by telling their stories. The finished book is certainly a considerable feat of tech journalism and a window into the life of software developers in that era.