Last Wednesday at 9:30 AM we had our caching taskforce BillG review. I came into work at my normal time that morning, about 7:30AM, and did the usual email/spec. update/bug review/forum work. At 9:00 AM I decided that although I’m not presenting, it probably wouldn’t be a bad idea to print out copies of my caching related specs. I didn’t think I’d need them, but you never know. At 9:10 I headed out to the meeting.
You might have heard the Redmond Microsoft office described as a college campus. It couldn’t be more true, in some ways it’s probably bigger than a college campus. When I first started at Microsoft one of the most intimidating aspects was the sheer size of the place! The next amazing thing was that there was always (and I mean ALWAYS) some kind of construction going on. We’re either putting new buildings up, or tearing old buildings down to put new buildings up! As I write this I can see cranes swinging back-and-forth.
Anyhow… usually I like to walk to any meetings outside of my building, but that morning I decided to drive. I was parked and waiting for an elevator to the 5th floor by 9:20 and I was starting to get the same jitters I usually get at conferences presentations! For example, the meeting was at 9:30. Meetings at Microsoft NEVER start at the bottom of the hour. What if the meeting had been updated and I was walking in 30 minutes late!
I stepped off the elevator onto the 5th floor and slowly glanced – for about the 10th time- at my post-it note for the meeting room number. I headed down one of 4 possible hallways, hopefully in the right direction. On my left I first passed a conference room marked ‘the executive board room’ — if I could be a fly on that wall! — next I passed 2 other conference rooms: software design review room 1 and software design review room 2. Hmm… I’m participating in a software design review, but not in either of those rooms.
After a few more steps I was at the end of the hall. Software design review room 2 on my left, offices on my right, and a glass door in front me. I again glance down at my post-it note … yup, still going the right direction, but now it appears that I need to pass through the glass doors. At this point I simultaneously hear two women in two separate offices ask me, ‘can I help you’? They direct me inside into what appears to be a private conference room in what appears to be Bill’s private office area. To make matters worse, I’m the first one there! I’m always one of those people that’s about 2-3 minutes late to meetings. At Microsoft a meeting might be scheduled to start at 10AM, but it seems like everyone is always 5-10 minutes late. Great, I hate being early.
It’s now 9:27. I’m still the only one in the room. Finally at exactly 9:30, Mike Pizzo, the guy presenting shows up. He has his own funny story to tell: Apparently he came in at 4:00 AM that morning to prepare for the meeting — can’t say I blame him, I’d probably do this same if I was presenting — he said he drove straight to this building, came up to the 5th floor and attempting to get into the conference room to ensure his network connection worked, etc. Turns out the glass doors were locked and he sat outside (by design review room 2) and worked on the demos. About 5 minutes after arriving a security guard showed up and started asking him why he was waiting outside Bill’s office at 4:30 AM in the morning!
9:35, a few more people show up. A woman, who said she was from MSR (Microsoft Research) asked me why we were meeting in this conference room vs. the usual executive board room. She obviously thought that I was commonly involved in meetings that occur with executives. I pulled a sly: ‘Yeah, I think it might have been booked – besides this room is smaller.’ She bought it 🙂 … what did she think I was, some usual board room attendee or something!
A few seconds later, Bill walks in the room; minutes later Jim Alchin, and Paul Flessner join us too. There are now about 14 people in the room so we start the meeting with introductions. I watch a couple other folks from the caching task force somewhat nervously introduce themselves — and notice that Bill kind of smiles/smirks with a couple of the more nervous exchanges. The kind of smirk you give someone when you can tell they are nervous, but there isn’t a reason to be. Either way, it’s both intimidating and exhilarating to sit in the room with Bill.
The first thing I notice as the meeting starts is that Bill is left-handed. He also didn’t bring a computer in with him, but instead is taking notes on a yellow pad of paper. I had heard this before – Bill takes amazingly detailed notes during meetings. I image he has to, given all the information directed at him. The other thing I noticed during the course of the meeting is how he takes his notes. He doesn’t take notes from top-to-bottom, but rather logically divides the page into quadrants, each reserved for a different thought. For example, it appeared that all his questions were placed at the bottom of the page.
The meeting ran for about 2 hours. During which we discussed all kinds of different technologies, competitors, strategy, research, etc. We got a lot of positive feedback on what we had done. I got the chance to answer many of Bill’s direct questions about ASP.NET caching and brainstorm some of the new ideas we were tinkering with. We talked about optimization differences in various algorithms too; the ASP.NET cache implements a least recently used algorithm (LRU), Bill, Jim, and one of the research guys debated LRU vs. memory management in early versions of Windows NT and how Windows memory management was now so much better.
The meeting ended about 15 minutes late. Overall it went really well. We had some new work items and some areas to investigate, but he was pleased with the results we had.
Looking back, it was a really fun meeting. I thought it was going to be more overview and less detail, but instead what it reminded me of was a feature team meeting. A feature team is a virtual team composed of the developers, program managers, and QA people directly responsible for a given feature within a product team. For example, we have a feature team within ASP.NET for caching. Feature team meetings are usually where the rubber meets the road for technical design. The feature is debated, designed, improved, etc. The BillG review was like a feature team meeting: filled with debate, ideas, changes, etc. but at a slightly higher level!
Scott Watermasysk emailed me after my pre-BillG review blog entry and told me he had a blog ready for Bill. Too bad I didn’t get a chance to let Bill know 😉