Everybody knows Bill Gates, the business leader. He visualized the impact of Personal Computers and systematically monetized it to create monopolies in OS and applications markets. Bill Gates also played the role of a technical leader with passion. Here I have tried to create an image of Bill, the technical leader based on Cusumano’s classic book Microsoft Secrets and Bill’s interview at National Museum of American History. Unless stated all the statements below are from Bill.
Seeing “The most technical” as competitive edge: "We were more comprehensive. We weren't the largest. There was a time that MicroPro with WordStar was bigger. There was a time when Visicorp was bigger. There was a time when Lotus, with the early years of 1-2-3s incredible success, was bigger than we were. But we were always the most technical. Whenever anybody else in the software industry wanted to know where we thought things were going, they'd come and talk to us. Because our vision, we shared; we didn't view that as some competitive edge."
Bill’s product understanding: Dave Maritz, former test manager, Windows/MSDOS says, “He is a maniac. Bill knows more about the product than any of us. And you go into the meetings and you come out just sweating because, if there is any flaw, he will land on it immediately and pick it to bits. He is just unbelievable.” Bill himself says, “The products that comprise 80% of our revenues, I choose to understand very very deeply”.
Bill’s strategic memo: Bill used to write strategic memos four to five times a year. One such memo was on “Some of the big technical challenges we face and who is going to own particular solutions and what solutions are the right ones from the strategic point of view”
Bill on code review: If a project really appears to be broken, then you want an independent review of the code. Very early in the company I’d say, “Hey, give me the source code. I’ll take it home.” I can’t do that now. So I take somebody a D14 or D15 (top technical ranks) and say, “Go dig into this thing and let me know”.
Bill on code sharing: I believe in code sharing across the groups. I’ve imposed on them the necessity to get this thing from this group and that thing from that group, and those groups don’t work for them. If they want to point out some massive bug, it’s important to bring that out in the discussion.
On letting go: Well, at first, I wouldn’t let anybody write any code. I went in and took every statement that anybody else had written in BASIC and rewrote it myself, just because I didn’t like the way they coded. But then we had products like FORTRAN and COBOL, where all I did was make sure that we were designing to the right spec and review the basic algorithms… I have not delegated the general idea of products to develop (in early 90s).