How Hard Could it Be?: Glory Days
Published July 2008
So were the date and time functions compatible?
"Yes," I told Bill. "The dates are exactly the same, except for January and February 1900."
Silence. The F Counter and my boss exchanged astonished glances. How did I know that?
"OK. Well, good work," said Bill. He took his marked-up copy of the spec…wait! I wanted that…and left.
"Four," announced the F Counter, and someone said, "Wow, that's the lowest I can remember. Bill is getting mellow in his old age." He was, at the time, 36. Later, I had it all explained to me. "Bill doesn't really want to review your spec," a colleague told me. "He just wants to make sure you've got it under control. His standard MO is to ask harder and harder questions until you admit that you don't know, and then he can yell at you for being unprepared. Nobody was really sure what happens if you answer the hardest question he can come up with, because it's never happened before."
What did I take from all this? Bill Gates was amazingly technical, and he knew more about the details of his company's software than most of the people who worked on those details day in and day out. He understood Variants and COM objects and IDispatch and why Automation is different than vtables -- and why this might lead to dual interfaces. He worried about date and time functions. He didn't meddle in software if he trusted the people who were working on it, but you couldn't bullshit him for a minute because he was a programmer. A real, actual programmer.
Watching nonprogrammers trying to run software companies is like watching someone who doesn't know how to surf trying to surf. Even if he has great advisers standing on the shore telling him what to do, he still falls off the board again and again. The cult of the M.B.A. likes to believe that you can run organizations that do things that you don't understand. But often, you can't.
Over the years, of course, Microsoft got big, Bill got overextended, and the company's strategy put it at odds with the U.S. government. Steve Ballmer -- who was not a programmer -- took over as CEO, on the theory that this would allow Bill to spend more time doing what he does best: running software development. But that didn't seem to fix the problems that came with those 11 layers of management, a culture of perpetual, permanent meetings, and a stubborn insistence on creating every possible product no matter what. How many billions of dollars has Microsoft expended on research-and-development costs, legal fees, and damage to reputation, because it simply had to bring to market a free Web browser?
Oh, well. The party has moved elsewhere, and as of this month, so has Bill -- he is officially retiring to work full time on his foundation, though he will stay on as chairman. My old division has seen its share of change, too. Excel Basic became Microsoft Visual Basic for Applications for Microsoft Excel, with so many (TM)s and (R)s I don't know where to put them all. I left the company in 1994. Now, at my own company, I do the same kind of reviews, although I'm nowhere as good at them as Bill was.
And I had assumed that Bill had completely forgotten me -- just another face in the crowd -- until I noticed a short interview with him in The Wall Street Journal in which he mentioned, almost in passing, something along the lines of how hard it was to replace, say, a good program manager for Excel.
Could he have been talking about me? Naw, it was probably someone else. Still.
Joel Spolsky is the co-founder and CEO of Fog Creek Software and the host of the popular blog Joel on Software.






