Category Archives: Sixteen Tons

Flashback: First Day at Microsoft

Calendar page - August 3, 1987

Twenty-eight years ago today, I started at Microsoft, my first full-time job after completing my bachelor’s degree. Having arrived in Seattle the previous Thursday, I had settled into temporary housing at Hampton Greens on 148th Ave NE and made the short drive to campus in my rented Pontiac 6000 sedan. I wore a Miami Vice-inspired light gray sport jacket that I’d purchased in a mall on Long Island. After employee orientation in Building 1 with about thirty other people, I walked over to Building 2 where I was greeted by my first manager, Ralph Ryan, the development manager of the LAN Manager team.

I spent part of the first day in status meetings, where my new co-workers went over stacks of printed work items lists line-by-line. The morning meeting was about something called the “redirector” and the afternoon meeting was about something called the “API” and also the UI. In between we went to lunch at the cafeteria in the recently-opened Building 5. My co-workers were excited to go there because it was the first cafeteria on campus with a grill, including a menu item called the “Blibbet Burger.”

Over the next few days I got to work. As the most junior member of the team, my first project was to design and code OS/2 LAN Manager’s installation program, based on a few pages of details in the written product specification. I learned that my team was in the Distributed Systems Business Unit, which was led by Paul Maritz. This was part of the Systems Division, led by VP Steve Ballmer, who had signed my offer letter. In the office directly across the hall was Larry Osterman, a grizzled veteran by virtue of his three years of professional experience. I reconnected with friends like Rosie Perera and David Byrne, who were partly responsible for recruiting me there.

I set up the first PC I had ever used: A Compaq Deskpro 386/16 with 1 MB of RAM. It had a 70 MB hard disk, so much capacity that I divided it into three partitions and installed MS-DOS 3.21 on the main one (soon to be replaced with OS 1.0) and Xenix on another one just for comfort. My team was using Microsoft’s SLM source code control system but had yet to set up a shared toolset or an official build process, so I had to walk the halls to collect the various versions of the compiler and libraries needed to build the whole product. (Brian Valentine, who started as the team’s first test manager two weeks after I did, put both of those in place.)

Building 2 at the time housed the Systems Division (except for the Languages group), the IT Group, and what we would now call the corporate data center. The OS/2 group occupied most of the upstairs and the rest of the groups were scattered throughout the first floor. Down the hall from me was a bunch of folks working on something called Windows/386, but most of us paid little attention to them. There was also a peculiar fellow with long red hair and a full beard who talked loudly in the hallways and occasionally had Bill Gates stop by his office.

Interoffice memos were typed by administrative assistants, printed on paper, and manually distributed to our slots in the mail room. The building receptionists used a public-address system to page employees, sometimes throughout all of the buildings at once. I never met Suanne Nagata, but her name echoed from the building’s speakers so often in those days that I will always remember it. There was no voicemail system, so unanswered phone calls were redirected to the central operators, who took messages and sent them via email. The entire company phone list was printed monthly on bright yellow paper and delivered to everybody’s mailslot. There was also an online number lookup tool on the Xenix servers; it was called “phone” and was a grep script. Email was in heavy use internally, but the microsoft.com domain was still several years away, and external email was exchanged via UUCP, typically via the decvax!uw-beaver!microsoft route.

The company had just crossed the 2000-employee threshold and its stock price – nearly 18 months since the IPO – had fallen to $90 per share after having previously reached $110. Both of these were leading indicators, my more cynical colleagues assured me, that the company had become too big and bureaucratic and that its best days were behind it. In one regard they were right, at least in the short term, as the stock price rose again to over $100, then fell precipitously two months later in the Crash of 1987 and didn’t recover for another two years.

LAN Manager 1.0 code complete was six weeks away. The wild ride had begun.

Advertisements

The Top 10 *Real* Reasons that I’m Leaving Microsoft

Dorothy's ruby slippers

When people leave a job, they tend to spew pablum about “new opportunities” or “spending more time with the family.” Since today is my final day as a Microsoft employee, it’s my chance to set the record straight. Here are the top ten real reasons that I’m leaving Microsoft:

  1. I’m starting a new company to build an enterprise version of Snapchat.
  2. My Microsoft active tenure rank (#63) is now lower than my ladder level.
  3. It took me a week to complete code.org’s Hour of Code.
  4. I must free myself from the tyranny of automated paper towel dispensers.
  5. The Company Store finally sold out its entire backlog of Windows for Workgroups Starter Kits.
  6. I’ve given up trying to figure out what program managers really do.
  7. I only work for CEOs who were at Microsoft when Jimmy Carter was president.
  8. Now that I qualify for AARP discounts, I no longer need the Prime Card.
  9. I can’t bear the thought of not getting a single numeric rating to represent the relative value of an entire year’s work.

And the number one real reason that I’m leaving Microsoft is:

  1. Glinda the Good Witch appeared to me and explained that I’ve had the power to leave all along.

[Updated 25-Jan-2014: Added image and link — DG]

Launching DannyGl 3.0

Twenty-seven years ago last month, I came to Seattle for the first time for my job interview at Microsoft. If my childhood and college years were the “1.0” of my life, then my Microsoft career has been “2.0.” I am now about to leave Microsoft and begin “DannyGl 3.0.” I’ll be around for a few more weeks to help with the current organizational transition; my official last day will be January 24th.

What most drew me to Microsoft all those years ago were the people; the people I knew already who worked there and the people I met when I interviewed. They were universally gifted, accomplished, and passionate about doing the right thing. While I have received enormous gratification from solving hard problems and delivering software products that hundreds of millions of people around the world use every day, learning from and being inspired by such an exceptional group of people on a daily basis has been my favorite part of working at Microsoft. My strongest sense of accomplishment at Microsoft comes not from any code or docs that I’ve written but from the people I’ve helped hire, develop, and mentor during my time here.

While thanking people individually would take too long, I will make one exception for Michele Weinberger Glasser, my wife and partner for most of these years. She has been my greatest source of support and is directly or indirectly responsible for the happiest moments of my life. I daresay that our combined 47 years of Microsoft FTE tenure is probably a record for a couple, though now that it is coming to an end I look forward to seeing this record broken.

You may be thinking, “What is DannyGl 3.0?” In keeping with a Microsoft-inspired release model, I am commencing a personal MQ and concurrently embarking on the 3.0 planning process. Further information about DannyGl 3.0 will require execution of a verbal non-disclosure agreement; this can typically be procured over lunch, a beer, or on a ski lift.

I invite you to “sign my yearbook” by sending email to danny+yearbook <at> glasserfamily.org, especially if you have a personal story about my contributions to Microsoft. I’ll be sharing this with my kids, so please keep it PG-13.

Thank you for the opportunity to work together. I look forward to our paths crossing again.

Simpler Is Better. Except When It’s Not.

This past summer, the conference rooms in the building where I work were remodeled extensively.  Among the improvements is the installation of a network clock, flush-mounted high up on a wall of each room.  Having a clock in a conference room makes it easier for the participants to track the time of the meeting and stay on schedule.  Having a network clock means that it never has to be set manually because it is automatically synchronized to an official time source.

Except that it’s now ten days since the conversion from Daylight Saving Time to Standard Time and half of the clocks are still on PDT instead of PST.  Not all of them, curiously; some of the clocks have successfully fallen back and some haven’t, with no apparent pattern amongst the different rooms.  In at least one case, two conference rooms side-by-side are on different sides of the DST divide.

What’s funny is that several folks have walked up to the errant clocks and tried to find the button that lets them set the time.  Only there isn’t one, so they end up pushing the mounting screws to see if that will do anything.

Almost Famous

Something I wrote fifteen years ago was quoted in a recently published book:

Philosophy: The build is a piece of software and should be treated as such. The build is among the most heavily used and complex pieces of software in the development group and should be treated as such.

— Danny Glasser, Microsoft developer in the Systems Group, March 9, 1991

A Numbers Game

I’ve had the same office phone extension for eighteen years; however, due to changing areas codes and exchanges I’ve had four different publicly-visible phone numbers during this time.
206-882-XXXX
206-936-XXXX
425-936-XXXX
425-706-XXXX
Actually, that’s not quite true, because at first internal dialing was four digits, and when we switched to the 936 exchange it became five.  So my internal extension did change from XXXX to 6XXXX.
 
When I started at work they had run out of numbers in the 882 exchange and had started using 867.  Having an 882 number marked you as an old timer.  I only got my 882 number because I happened to occupy the office of a vendor who had been assigned the number, and instead of recycling it they passed it along to me.  For some reason this bugged one of my then-housemates, who had started a couple of months before me but got an 867 number.
 
The final four digits in the 882 and 867 exchanges were in distinct ranges, hence it was possible to use four-digit dialing without conflicts.  I used to know what those ranges were but it’s long since escaped my memory.  I do remember that 5xxx was in the 867 range, which means that somebody at the company had the immortal 867-5309 as their office phone number.

Talking about The Old New Thing : Buying an entire Egghead Software store

 Raymond tells the story of taking a pickup truck to Egghead to buy one copy of each application for compatibility testing.  What he doesn’t mention is that it created a bunch of extra work for him personally, since he was one of the people responsible for investigating and fixing application compatibility issues in Windows 95.

The application that I got from this bonanza was EA Sports’ NHL Hockey 95.  The first time I tried to run it, it attempted to start for a while but never actually got past the initial load; eventually my computer’s hard disk ran out of space.  Raymond came to my office to investigate and discovered that the application was using a memory manager add-on that attempted to determine how much RAM was available in the system by allocating memory in an infinite loop until it got an out-of-memory error.  On traditional MS-DOS this would fail pretty quickly, but on Windows 95 the OS’s virtual memory manager would keep allocating and allocating, and continually enlarging the swap file on the hard disk to handle the requests.  This would keep happening until the hard disk was completely full, which could take a very long time.

Raymond added code to Windows 95 detect this particular memory manager add-on and handle its requests intelligently.  This was a good thing because a number of other MS-DOS applications used the same memory manager.

By the way, I never got very good at NHL Hockey 95.  To be able to compete with the computer player you needed a joystick and all I had was a mouse (they didn’t buy us OS developer types joysticks for our office computers, go figure).  The only times I ever won was when I played an all-star team and the computer played the worst team in the league.