Shahaf Abileah's profileShahaf's SpacePhotosBlogListsMore Tools Help
    April 17

    Leaving Microsoft

    I started working at Microsoft five years ago, on April Fool's Day in 2002.  Last week (on Friday the 13th) I left Microsoft to go work at a startup called Redfin.  If I were superstitious I might make something of these dates, but I'm not, so I won't.

     

    It's hard to decide to leave Microsoft.  This is my first transition from one company to another since graduating from college, so that in itself is a little daunting.   On top of that, I love Microsoft.  I've had a great time here, worked on great projects, and I've definitely become a better software developer.

     

    So as a tribute, I'd like to list the top five things I will miss most about working at Microsoft:

     

    1. Smart people.  I've worked in two different groups (SQL Server, Virtual Earth) and on several different projects, and at all times I thought the caliber of people around me was great.   There were always a few people I would look at and say, "wow, that person is freaking smart, I have a lot to learn from him".  (yes, it was usually "him", not "her"; not trying to be sexist or anything, but that's just how it goes in computer science; sigh).

     

    2. Potential for huge reach.  For example, one of my projects was to build a compact storage engine.   It was originally designed for a certain Windows Mobile app which unfortunately didn't ship, but this code made its way into other products, including Virtual Earth 3D.  I learned recently that VE3D has now been downloaded more than 3 million times, which means that on 3 million computers out there you can find a .cmf file, and I can point to it and say "I did that".   That's just cool!  J  How many companies give you the opportunity to do something like that?   And 3 million is a relatively small number for Microsoft.  Windows and Messenger and other apps have a huge install base.

     

    3. Aliases.  Microsoft has thousands of internal e-mail lists, one for every group, product, and technology you can imagine.   If I run into problems with, say, Visual Studio Team System, I can easily look up the e-mail list for questions on VSTS and e-mail those people.  These lists always include the people who actually wrote the code plus a bunch of advanced users, so you generally get an answer in less than 24 hours.  If you're still having problems you can IM or call these people (with discretion) and your problem will almost always get solved very soon or a bug will be entered to be fixed in the next release.   I've used this power for technical problems I encounter outside of Microsoft too.  For example, while working on a book I published on www.lulu.com, I had a very large MS Word file (e.g. 800 MB) go corrupt.  No problem, I contacted the MS Word people.   Once my uncle had problems with playback of videos embedded in a Powerpoint presentation.  No problem, I contacted the Powerpoint people.   I will definitely miss having that direct access!

     

    4. Lectures.  There are a few different lecture series that run regularly in Microsoft.   James Hamilton runs the Enterprise Computing Series where each week someone does a lecture, typically on server or platform software.  The Microsoft Research (MSR) folks run a set of Cool Talks about various forward-looking projects.   Dave Provert runs a series of lectures that focus on OS internals.  Friday mornings you can have coffee while you listen to talks that focus on how Microsoft competes with various companies.   It's a great way to learn about what's going on in the company and to stay on top of technology trends.

     

    5. Friends.  Some of my closest friends work for Microsoft.  It's been great meeting up with Justin and Eric for lunch regularly, and once in a long while for an "executive lunch" involving great food, the driving range, and perhaps a visit to the Apple store where I might, say, dock my nano in the Bose stereo, accidentally play music a little too loud, and then wonder if it's just me or is the audio in my nano screwed up?   Or meeting Andy and the rest of Team Quizzle at Quizno's, Ooba Tooba's, BBQ, or wherever.  I had fun going skiing with the Notification Services gang, getting addicted to World of Warcraft with the MapPoint crew, and so on.   I will definitely miss seeing all these people on a regular basis, and I hope I manage to stay in touch with all of them.

     

    And then to be fair and balanced, here are the things that I won't miss so much:

     

    1. The commute.  I live in downtown Seattle, by Pike's Market, and for the last five years I've been commuting across the 520 bridge to work.   Seattle really needs to do something about that bridge, but what else is new.  I've actually seen the commute get worse over these five years.   At best it was 25 minutes.  At worst (e.g. rain + a couple accidents + Sonics game) it was close to 2 hours, and that doesn't even include those horrible wind storms in December of '06.   I remember a couple of times where I entered 520 on the way home from work, saw how bad traffic was, and took the very next exit to go back to work and wait it out.   There was just no point.  I tried to get in the habit of taking the 545 bus to work, and I credit Microsoft for giving every employee a Flexpass (which gives you free rides on all buses), but with all the walking and waiting for the bus my commute was always at least one hour.   I guess the one saving grace is that I had plenty of time to listen to NPR and my www.audible.com books.  Still, I think I'll enjoy my new short commute to Redfin.

     

    2. Building congestion.  When I first started at Microsoft I had a window office.   It was earmarked for me to share this office with the next person to-be-hired, but that didn't happen for 6 months, so for all that time I had a sweet office all to myself.  That was the last of it.   Soon I had an office mate (Kati – who I must say was an awesome officemate who shared my taste for Bjork and other artists).  After that we moved to a smaller office, then an inside office with no windows.   And that's basically the kind of office I've had since.  In other words, my seniority at Microsoft was outpaced by the growth of the company.   Recently parking has become a problem too.  For a while there just wasn't enough parking under our building.  People started creating their own parking spots and some of them even got towed.  Eventually Microsoft arranged valet parking.   I think it's impressive for Microsoft to insist on trying to keep separate offices for employees when other companies would have long ago switched to cubicles, and I know that this problem will be solved over the next 1-2 years as the company secures more building space in Redmond, Bellevue, and elsewhere.  Still, it was occasionally a pain.  (by the way, I don't expect to have much more space at Redfin – startups need to be efficient)

     

    3. Jockeying for charter.  In some ways Microsoft has too many smart, vocal people, and not enough original ideas.   What this means is that you'll often find two (or more) groups in the company working on similar technology.  Eventually the lowest-common-manager for these groups will discover this.   Eventually it becomes a problem.  Then comes the usually long period where the two groups try to justify their work by either arguing that their technology is better or that it's different enough – whatever it takes to keep the project alive.   Of course, keeping the project alive is not necessarily the best thing to do – it's means duplication of effort, and it causes confusion for the customer (I'm looking to do X so should I use Microsoft Foo or Microsoft Bar?).   But that's how it goes.  Eventually one of these groups is told to stop operations and find something else to do, which often means that the disgruntled devs/testers/pm's leave the group altogether.   Or sometimes the two groups are merged, but of course one side has the upper hand (in terms of management chain if nothing else), which often means that the other group still gets the short end of the stick.   I was involved in a situation like that back in SQL Server where my group had the "upper hand", and it didn't end well.  I know other people that have been in similar situations.   I'm not saying this happens to everyone all the time, but it does happen.  I guess it's not really different than what would happen outside Microsoft – instead of one group competing with another, it would be one startup competing with another, and one of them would lose (I hear that only 3% of startups succeed).   But the idealist in me keeps hoping that inside a single company you shouldn't have multiple groups reinventing the wheel.  I guess it's just a hard thing to achieve in a 70,000 person company.

     

    4. Useless meetings.  I'll start off by saying that this issue varies quite a lot from one group to another across Microsoft.   I've seen seasons where we had very few meetings, where everyone was able to focus and get their work done, and communication was still good through informal channels (email, IM, in-person, etc.).   But I've definitely been in my share of meetings where I had to ask myself "why am I here?", and wonder the same about half the people in the room.  I always thought it would be cool if Microsoft installed little LED sign in all conference rooms where there was a label that said "How much this meeting costs Microsoft: " and a ticker counted up dollars based on the salaries of all the people in attendance.   Maybe that would cause people to invite just the people that need to be there and possibly to end meetings early (which rarely happens – if you schedule an hour, 99 times out of 100 you'll take an hour, and sometimes more).   Of course, talking about salaries is taboo so my LED idea will never happen, but I still have fun thinking about it.  By the way, I'm sure that this is not a Microsoft-only phenomenon.   I've heard that by comparison to other big companies, Microsoft is relatively agile.

     

    5. Bloatware.  Feature creep is a big thing at Microsoft.  Every group does its best to get their features front-and-center in the application.   The end result is that Microsoft apps tend to be complex to use and require huge amounts of computing resources.  Again, this is not always the case, but it does happen often.   I've done a lot of development in C# and SQL.  Two years ago I had to upgrade my machine's memory from 1 GB to 3 GB to deal with having Visual Studio, SQL Server, Outlook, and perhaps a couple of other apps run side-by-side without endless paging.   [to those who read this blog post in the future, let it be known that back in 2005, 3 GB was considered high for a desktop machine].  I'm sure that again this is not a Microsoft-only problem, but I hear that over in the Linux world apps tend to do less and "weigh" less (following the mantra "do one thing and do it well") which sounds appealing.

     

    6. Poor branding.  This part really sucks.  Microsoft has amazing technology that goes unnoticed.   For example, I recently read some blog posts about how Google released MyMaps and how great it is.  Well, I agree that MyMaps is great, but Microsoft had a similar thing working six months ago and nobody knows about it.   Why?  Partly because the Microsoft mapping site keeps changing locations – first it was http://maps.msn.com (before we introduced interactive maps), then it was http://www.virtualearth.com, then http://local.live.com, and now http://maps.live.com .  I agree that Microsoft needs to do more to establish itself as a Software + Service player, but so far the whole "Live" branding effort doesn't seem to work.   Most people don't know what "Live" is; it sounds too generic; they don't associate it with Microsoft.  Oh, and by the way http://live.local.com is a competitor, and I've seen various emails in the company and blog posts outside the company get the two confused.   By comparison everyone knows MapQuest, and part of the reason is that it's been http://www.mapquest.com for the last decade.   (by the way, these are not original ideas, but I don't feel like collecting links to the various blogs where I got them just now).  Again, this issue doesn't affect the whole company.   Xbox, for example, is doing a good job, and so far Zune appears to be doing well at least in terms of recognition.  Still, I'm looking forward to working at a small company that offers a specific set of services and will therefore have an easier time branding itself.


    There you have it.


    Some of you might notice that I listed 5 PRO's and 6 CON's and conclude that there's more bad than good at Microsoft.  That's not true.  I simply listed the first few things that came to mind.  I can totally see myself working for Microsoft again in the future.


    Comments

    Please wait...
    Sorry, the comment you entered is too long. Please shorten it.
    You didn't enter anything. Please try again.
    Sorry, we can't add your comment right now. Please try again later.
    To add a comment, you need permission from your parent. Ask for permission
    Your parent has turned off comments.
    Sorry, we can't delete your comment right now. Please try again later.
    You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
    Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
    Complete the security check below to finish leaving your comment.
    The characters you type in the security check must match the characters in the picture or audio.

    To add a comment, sign in with your Windows Live ID (if you use Hotmail, Messenger, or Xbox LIVE, you have a Windows Live ID). Sign in


    Don't have a Windows Live ID? Sign up

    Trackbacks

    The trackback URL for this entry is:
    http://shahaf.spaces.live.com/blog/cns!4E40F5FF804D2A45!1512.trak
    Weblogs that reference this entry
    • None