Nope, Sgt Pepper didn’t teach the band to play.
20 years ago today, a kid fresh out of Carnegie-Mellon University showed up at the door of the 10700 Northup Way, ready to start his first day at a real job.
What a long strange trip it’s been.
Over the past 20 years, I’ve:
· Worked on two different versions of MS-DOS (4.0, 4.1).
· Worked on three different versions of Lan Manager (1.0, 1.5, 2.0)
· Worked on five different releases of Windows NT (3.1, 3.5, XP (SP2), W2K3 (SP1), Longhorn)
· Worked on four different releases of Exchange (4.0, 5.0, 5.5, and 2000)
I’ve watched my co-workers move on to become senior VP’s. I’ve watched my co-workers leave the company.
I’ve seen the children of my co-workers grow up, go to college, marry, and have kids.
I’ve watched the younger brother of my kids babysitter who I met at 12 years of age grow up, go to college and come to work at Microsoft in the office around the corner from mine (that one is REALLY weird btw).
I’ve seen strategy’s come and go (Lan Manager as an OEM product, then retail, then integrated with the OS).
I’ve watched three different paradigm shifts occur in the software industry, and most of a fourth. The first one was the shift of real computing to “personal” computers. The second was the GUI revolution, the third was the internet, and now we’re seeing a shift to smaller devices. We’re still not done with that one.
I’ve watched Microsoft change from a “small software startup in Seattle” to the 800 pound gorilla everyone hates.
I’ve watched Microsoft grow from 650ish people to well over 50,000.
I’ve watched our stock grow and shrink. I’ve watched co-workers fortunes rise and fall.
I’ve watched governments sue Microsoft. I’ve watched Governments settle with Microsoft. I’ve seen Microsoft win court battles. I’ve seen Microsoft lose court battles.
I’ve watched the internet bubble start, blossom, and explode.
I’ve watched cellular phones go from brick-sized lumps to something close to the size of matchbooks.
I’ve seen the computer on my desktop go from a 4.77MHz 8088 with 512K of RAM and a 10M hard disk to a 3.2GHz hyper-threaded Pentium 4 with 1G of RAM and an 80G hard disk.
I’ve watched the idea of multimedia on the PC go from squeaky beeps from the speaker to 8-channel surround sound that would rival audiophile quality products.
I’ve watched video on the PC go from 640×350 Black&White to 32bit color rendered in full 3d with millions of polygons.
When I started at Microsoft, the computer that they gave me was a 4.77MHz PC/XT, with a 10 megabyte hard disk, and 512K of RAM. I also had a Microsoft Softcard that increased the RAM to 640K, and it added a clock to the computer, too (they didn’t come with one by default)! Last month, I bought a new computer for my home (my old one was getting painfully slow). The new computer is a 3.6GHz Pentium 4, with 2 GIGABYTES(!) of RAM, and a 400 GIGABYTE hard disk. My new computer cost significantly less than the first one did. If you index for inflation, the new computer is at least an order of magnitude cheaper.
I still have the letter that Microsoft sent me confirming my job offer. It’s dated January 16th, 1984. It’s formatted in Courier, and the salary and stock option information is written in ink. It’s signed (in ink) by Steve Ballmer. The offer letter also specifies the other benefits; it’s not important what they are. I also have Steve’s business card – his job title? VP, Corporate Staffs. Yup, he was head of HR back then (he did lots of other things, but that’s what his title was). I also have the employee list they gave out for the new hires, as I said before; there are only about 600 people on it. Of those 600 people, 48 of them are still with Microsoft. Their job titles range from Executive Assistant, to UK Project Troubleshooter, to Architect, to Director.
The only person who I interviewed with when I started is still at Microsoft, Mark Zbikowski. Mark also has the most seniority of anyone still at Microsoft (except for Steve Ballmer and Bill Gates).
When I started in the Lan Manager group, Brian Valentine was a new hire. He was a test lead in the Lan Manager group, having just joined the company from Intel. He (and Paul Maritz) used to tell us war stories about their time at Intel (I particularly remember the ones about the clean desk patrol).
In the past twenty years, I’ve had 16 different managers: Alan Whitney (MS-DOS 4.0); Anthony Short (MS-DOS 4.0); Eric Evans (MS-DOS 4.0, MS-DOS 4.1); Barry Shaw (Lan Manager 1.0); Ken Masden (Lan Manager 1.5, Lan Manager 2.0); Dave Thompson (Lan Manager 2.0, Windows NT 3.1); Chuck Lenzmeier (Windows NT 3.5); Mike Beckerman (Tiger); Rick Rashid (Tiger); Max Benson (Exchange 4.0, 5.0, 5.5); Soner Terek (Exchange 5.5, Exchange 2000); Jon Avner (Exchange 2000); Harry Pyle (SCP); Frank Yerrace (Longhorn); Annette Crowley (Longhorn) and Noel Cross (Longhorn).
I’ve moved my office 18 different times (the shortest time I’ve spent in an office: 3 weeks). I’ve lived through countless re-orgs. On the other hand, I’ve never had a reorg that affected my day-to-day job.
There have been so many memorable co-workers I’ve known over the years. I can’t name them all (and I know that I’ve missed some really, really important ones), but I’ll try to hit some highlights. If you think you should be on the list but aren’t, blame my poor memory, I apologize, and drop me a line!
Gordon Letwin – Gordon was the OS guru at Microsoft when I started, he was the author of the original H19 terminal ROM before coming to Microsoft. In many ways, Gordon was my mentor during my early years at Microsoft.
Ross Garmoe – Ross was the person who truly taught me how to be a software engineer. His dedication to quality continues to inspire me. Ross also ran the “Lost Lambs” Thanksgiving Dinner – all of us in Seattle without families were welcome at Ross’s house where his wife Rose and their gaggle of kids always made us feel like we were home. Ross, if you’re reading this, drop me a line 🙂
Danny Glasser – Danny had the office across the hall from me when I was working on DOS Lan Manager. He’s the guy who gave me the nickname of “DOS Vader”.
Dave Cutler – Another inspiration. He has forgotten more about operating systems than I’ll ever know.
David Thompson – Dave was the singularly most effective manager I’ve ever had. He was also my least favorite. He pushed me harder than I’ve ever been pushed before, and taught me more about how to work on large projects than anyone had done before. Valorie was very happy when I stopped working for him.
David Weise – David came to Microsoft from Dynamical Systems Research, which I believe was Microsoft’s third acquisition. He owned the memory management infrastructure for Windows 3.0.
Aaron Reynolds – Author of the MS-NET redirector, one of the principal DOS developers.
Ralph Lipe –Ralph designed most (if not all) of the VxD architecture that continued through Win9x.
David, Aaron, and Ralph formed the core of the Windows 3.0 team; it wouldn’t have been successful without them. Collectively they’re the three people that I believe are most responsible for the unbelievable success of Windows 3.0. Aaron retired a couple of years ago; David and Ralph are still here. I remember David showing me around building 3 showing off the stuff in Windows 3.0. The only thing that was going through my mind was “SteveB’s going to freak when he sees this stuff – this will blow OS/2 completely out of the water”.
Paul Butzi – Paul took me for my lunch interview when I interviewed at Microsoft. He also was in the office next to mine when I started (ok, I was in a lounge, he was in an office). When I showed up in a suit, he looked at me and started gagging – “You’re wearing a ne-ne-ne-neckt….” He never did get the word out.
Speaking of Paul. There was also the rest of the Xenix team: Paul Butzi, Dave Perlin, Lee Smith, Eric Chin, Wayne Chapeski, David Byrne, Mark Bebie (RIP), Neil Friedman and many others. Xenix 386 was the first operating system for the Intel 386 computer (made by Compaq!). Paul had a prototype in his office, he had a desk fan blowing on it constantly, and kept a can of canned air handy in case it overheated.
Ken Masden – the man who brought unicycle juggling to Microsoft.
All of the “core 12”: Dave Cutler (KE), Lou Perazzoli (MM), Mark Lucovsky (Win32), Steve Wood (Win32, OB), Darryl Havens (IO), Chuck Lenzmeier (Net), John Balciunas (Bizdev), Rob Short (Hardware), Gary Kimura (FS), Tom Miller (FS), Ted Kummert (Hardware), Jim Kelly (SE), Helen Custers (Inside Windows NT), and others. These folks came to Microsoft from Digital Equipment with a vision to create something brand new. As Tom Miller put it, it was likely to be the last operating system ever built from scratch (and no, Linux doesn’t count – NT was 100% new code (ok, the command interpreter came from OS/2), the Linux kernel is 100% new, but the rest of the system isn’t). And these guys delivered. It took longer than anyone had originally planned, but they delivered. And these guys collectively taught Microsoft a lesson in how to write a REAL operation system, not a toy operating system like we’d been working on before. Some day I’ll write about Gary Kimura’s coding style.
Brian Valentine – Brian is without a doubt the most inspirational leader at Microsoft. His ability to motivate teams through dark times is legendary. I joined the Exchange team in 1994, the team was the laughing stock at Microsoft for our inability to ship product (Exchange had been in development for almost six years at that point), and we still had another year to go. Brian led the team throughout this period with his unflagging optimism and in-your-face, just do it attitude. For those reading this on the NT team: The Weekly World News was the official newspaper of the Exchange team LONG before it was the official newspaper of the Windows team.
Max Benson – Max was my first manager in Exchange. He took a wild chance on a potentially burned out engineer (my time in Research was rough) and together we made it work.
Jaya Matthew – Jaya was the second person I ever had report to me; her pragmatism and talent were wonderful to work with. She’s also a very good friend.
Jim Lane, Greg Cox, and Ardis Jakubaitis – Jim, Greg, Ardis, Valorie and I used to play Runequest together weekly. When I started, they were the old hands at Microsoft, and their perspectives on the internals of the company were invaluable. They were also very good friends.
And my list of co-workers would not be complete without one other: Valorie Holden. Yes, Valorie was a co-worker. She started at Microsoft in 1985 as a summer intern working on testing Word and Windows 1.0. While she was out here, she accepted my marriage proposal, and we set a date in 1987. She went back to school, finished her degree, and we got married. After coming out here, she started back working at Microsoft, first as the bug coordinator for OS/2, then as Nathan Myhrvold’s administrative assistant, then as a test lead in the Windows Printing Division, eventually as a program manager over in WPD. Valorie has stood by my side through my 20 years at Microsoft; I’d never have made it without her unflagging support and advice (ok, the threats to my managers didn’t hurt either).
There’ve been good times: Getting the first connection from the NT redirector to the NT server; Shipping Exchange 4.0; Shipping Exchange 2000 RC2 (the ship party in the rain). Business trips to England. Getting a set of cap guns from Brian Valentine in recognition of the time I spent in Austin for Lan Manager 2.0 (I spent 6 months spending Sunday-Wednesday in Austin, Thursday-Saturday in Redmond).
There’ve been bad times: Reorgs that never seemed to end. Spending four years in ship mode (we were going to ship “6 months from now” during that time) for NT 3.1 (Read Showstopper! for more details). The browser checker (it took almost ten years to get over that one). A job decision decided over a coin toss. Working in Research (I’m NOT cut out to work in research).
But you know, the good times have far outweighed the bad, it’s been a blast. My only question is: What’s in store for the next twenty years?
Edit: Forgot some managers in the list 🙂
Edit2: Missed Wayne from the Xenix team, there are probably others I also forgot.
Edit3: Got some more Xenix developers 🙂