Thursday, July 8, 2010

Microsoft Mini

Microsoft Mini blog has a lot of angst today with new round of layoffs at Microsoft.

I tried to comment, but the Blogger was broken and wouldn't accept it. Since I already typed it up, I am posting it here instead...

I worked at Microsoft for 10 years, then went to Google, then back to Microsoft.

All companies have problems. Apple. Google. Microsoft. They are just different problems, and they look bigger when you are closer to them.

Yes, Microsoft is failing in consumer markets, always have, maybe always will. We don't get consumer. Vista (AKA Abby & Toby platform), Windows Mobile, Kin... Even XBox - it is successful because it was built more for a typical Microsoft employee than for a regular person, it's just MS people love the same kind of videogames that 14 years old males do :-). But if you look at kids or family games on XBox - total failure.

The problem is that we target some mythical "dumb" customer, we don't really know who that is, and we overshoot the level of dumbness by a wide margin. I worked on the first version of Windows Home Server and we had people on the team - not developers, obviously - who seriously tried to argue that our customers don't know what a file share is. I kid you not.

However, just like Microsoft doesn't get consumers, Google and Apple don't get the enterprise. I have participated in creation of a business product at Google, and the people around me did not understand basic concepts like the need for customer service, a refund process, or the like. The entire Google internal system is antithetic to schedule predictability and release stability that is required for a corporate product. People who say that Gmail and Google Docs somehow threaten Exchange and Office have obviously never used these products in a work setting for an extended period of time.

One thing that is going for Microsoft is the plentitude of cultures. We have Xbox team, and an Office team, and Windows team, and Bing, and all these organizations are as unlike each others as they can be. My advice to people, especially developers, who complain about politics, poor managers, boring products, etc - check out the career site! Plenty of teams are hiring, and there are tons of really fun places which will match your preferred style, values, or culture. Just keep moving until you find the right place for YOU. Trust me, it does exist. (By the way, I am hiring, too! If you dream in code and can implement a semaphore if I woke you up at 3am, and like a blend of "old Microsoft" and "new Google" cultures, look me up on career site!)

Finally, it is true that often leaders make companies/armies/countries great. But not always, and never alone, and certainly not in democratic societies :-). I don't think that success of Microsoft in the 90's is directly attributable to BillG and BillG alone, and the steam somehow magically went out of the company the day he left the building. Yes, we have plenty of people at the high places that probably should not have been there. So does Google, so does Apple, so does Oracle, Intel, ..., ..., ... These aren't the people who (most of) you work with, they aren't the people who you meet every day, and I'll let you in on a secret - they aren't the people who make YOUR product a success or a failure. YOU do. They can't affect the stock price much - YOU can, by shipping great products, and by making environment around YOU better, so it attracts more people like YOU.

So don't get consumed by paranoia and politics, focus on your job and your team, and everything else will follow.

And if not, as long as you do the above, you will still be very employable. At Google, at Amazon, or in my team :-).


Anonymous said...

Your views of Microsoft and Google are very different from everybody else who has worked at both companies.

Perhaps you can comment on why you have this unique viewpoint in a future blog post.

Sergey Solyanik said...

My viewpoint is unique because I am. Just like everyone else :-).

But it actually isn't. If you came from Mini MSFT, you have to realize that most Mini MSFT readers/commenters are probably not devs. MSFT (Google, Amazon, ...) is a dev company, so life of a dev here is more fun, just as simple as that. There is less to be pessimistic about, because, unlike Marketing, for example, we are actually in control :-).

If you read my "Back to Microsoft" post and the commentary for it, you will find that a lot of my viewpoints are shared by many Googlers. I can also say that they are not that unique at Microsoft either...

Anonymous said...

Sergey, feel free to delete this comment, but just wanted to give a heads-up: You put your last name on your second comment in the middle of the post. You might want to get that that comment deleted. (I don't know how)

Unknown said...


Eric Lee Green said...

I know people who work at Google. I know people who work at Microsoft. My jaundiced view of both places is that both are dysfunctional, but in different ways. I do believe that Bill Gates leaving Microsoft did hurt the company, because Ballmer doesn't have any overall product philosophy and the product line as a result seems to be adrift with no rhyme or reason, stuck in turf wars that Ballmer has no understanding of and thus no ability to end. Bill could look at the new-fangled Internet thingy and say "We are behind, but we are going to be a major player in the Internet" and instantly re-shuffle the company's priorities to center everything around the Internet, instantly re-orienting each team's goals towards making the company a major player on the Internet. Ballmer simply doesn't have that ability to understand technology trends and mobilize the company that way.

The result is a company that seems to have lost its ability to respond to changing conditions in the market -- see Microsoft's abject failures in tablet computing, where turf wars basically destroyed Microsoft's ability to make the iPad obsolete before the iPad's release, or in the cell phone market, where the clearly superior technology of Windows Mobile was hampered by turf wars to the point where Blackberry could sweep the business market away from Microsoft by offering features that Microsoft should have offered years before -- and could have, if not for the turf wars. The end result is a company that can continue to achieve and even excel in its current market niches, but is essentially an also-ran everywhere else. In the short-term that's worrying but not fatal, Microsoft's strengths in Office and Windows and associated business server side software such as Exchange are huge. In the long term... well, DEC had a commanding lead in the market for minicomputers and minicomputer operating systems too. And we all know what happened to them -- the world moved on, they didn't, and they went the way of the dinosaurs.

Sergey Solyanik said...


Trust the insider, you're wrong about the turf wars :-). I am sure there are plenty at Microsoft - as there are in any large company.


I have worked here for 12 years, and most of the time in the areas that should be the worst - in terms of the turf wars - because they were always the areas where the effort was the most duplicative.

Windows CE where I've spent my formative years at Microsoft always "competed" with Windows Embedded. Then I went to a team that "competed" with both Windows CE AND Windows Embedded. The Windows Home Server, which I am sure have cannibalized a little bit of SBS. Now I am working in an area shared with at least 3 other teams (and one "strategic direction").

Throughout my history at Microsoft I've seen many failures and successes. The common causes of these failures? Slow pace of innovation - check. Misunderstanding of marketplace - check. Occasionally some bad engineering - check. But turf wars? Never observed one case where that you could track them to a product failure.

The reality is at its roots Microsoft is not one large company, but a big, unwieldy collection of small teams. It's in the company's history. At every point in time, for every team there are probably 2-3 other teams at Microsoft that play (try to) in roughly the same market. This may look wasteful, but in the end it's the best product ships. So the environment is expensive, but stable.

As a result, Microsoft is extremely good at leaving teams alone. So most of the successes and failures are really because of the internal, rather than external factors.

Now, of course there is going to be a lot of people who will disagree with me. The above is just my personal observations of what I've seen in my career, not exhaustive statistical research. MAYBE there are teams that were excellent, built fantastic products, and have been killed because of politics. I have never seen this, though.

I have seen a lot of cases where people were blaming their own failures on others. For example, I've talked to many devs from the Vista cycle and asked them whether they were proud of their work. Almost universally they said one thing - our team did fantastic job, and the rest of the teams screwed up badly. I think this is just human nature.


Anonymous said...

Ok, you don't see inter-team politics. The thing that I found most crippling was the intra-team politics. I think that people working on the same product are willing to snipe at each other because nobody's review actually depends on the product's success in the market. If Microsoft punished people for shit products, there would be a lot more cooperation on building good products.

Sergey Solyanik said...

For intra-team politics, we have an easy fix on our team which I brought from Google - we use peer reviews, where majority of the review grade comes from peer comments, rather than the manager.

In this environment people who are hard to work with, who are not helpful, who snipe at their peers quickly feel how not smart their approach is.

WRT accountability for failed products - fair. We need more of this. In fairness though, for example the leadership of Windows Mobile went through at least 2 large purges, and it didn't seem to matter one bit. Perhaps accountability should go all the way down to the engineers?