Dave Cutler: Quality Is My No. 1 Constraint
Recorded on April 16th, 2016
[Dave Cutler - Wikimedia]
I read this today via a tweet by John Carmack. It’s a history lesson I’m keeping forever:
Over the course of his career, Dave Cutler was central to the development of (among many other things) DEC’s VAX/VMS operating system, Windows NT, Microsoft Azure, and the Xbox One hypervisor (the thing that a virtual machine runs on). He’s one of the few people in the world who can reach down to the deepest register and address level of where software meets hardware. In one day of internet use, the information you send and receive has very likely been touched by some piece of code that Cutler had a hand in writing. If not that, then some company you regularly rely on has probably benefited from at least a descendant of his software.
The depth and breadth of his expertise and output would be inspiring by itself, and then you discover the impossible deadlines he leads his teams through. On top of all of that, he dedicates himself to writing bug-free, secure code. From Boyd Multerer, director of development for the Xbox One in 2011:
“Dave fits a pattern that I’ve seen from the very best software engineers,” Boyd Multerer said. “They have similar traits, one of them is you hold quality extremely high. The best engineers like Dave are fanatical about quality. That means they write a lot of test code. They ensure that the code they write works. That’s what they hang their pride and reputation on. Most software engineers measure their success in terms of volume of code. The greats like Dave measure themselves in terms of quality of code – small amounts of quality, tuned, performant, robust code that doesn’t crash … It’s that fanatical embodiment of code quality that separates Dave from the rest. He just won’t accept anything less, from himself or others.”
Cutler is 74 and still works at Microsoft. Here’s how he describes his process:
“When presented with a programming problem, I formulate an appropriate solution and then proceed to write the code. While writing the code, I continually mentally execute the code in my head in an attempt to flush out any bugs. I am a great believer in incremental implementation, where a piece of the solution is done, verified to work properly, and then move on to the next piece. In my case, this leads to faster implementation with fewer bugs. Quality is my No. 1 constraint – always. I don’t want to produce any code that has bugs – none.”
The article is kind of a long one. Once you get hooked, I challenge you to see if you can close the browser tab before you’re done reading.