Some Notes on Microsoft Culture

Rico Mariani
3 min readOct 27, 2019


I was just reading James Whittaker’s Article “Speaking Truth to Power: Reflections on My Career at Microsoft” and while I don’t agree with all of it, that hardly matters. For one thing, it’s reflections on his career not mine, and for another thing there’s a lot of room for reasonable people to disagree in there. I’m actually a big fan because, unlike many people writing about MS, James has a clue. Or at least he has standing. You should beware of the tripe that usually gets published and definitely consider the credentials of the person doing the writing. Any article of the form “The problem with Microsoft is X” already has proven the writer to be without a clue.

James talks about the many Microsofts he experienced, and their various habits. Some of the practices were forged by the environment. When you have a 640k PC and it’s crazy hard to program it, you attract/need a certain kind of individual to get the job done. What was needed changed over time and Microsoft had different needs at different times. There have always been many Microsofts.

In 1995 I was starting to work on “” and I had to hire an entire team. My first hire lasted less than a day. It was a valuable experience and after that I started making this diagram to explain to people what they could expect when joining my group (the right part of the green range).

Approximately Correct Cultural Observations from 1995

Each division occupies a space in the culture. I put Windows on the left and the very most left was maybe the people working on device drivers. At the very rightmost were the people working on say the “MS Dogs” project or something like that. Other groups fell in between. In Developer Division, if you were working on debugger drivers the culture was more like Windows and if you were working on Toolbar UI then it was more like Consumer. These arrows are only approximately correct to give you a sense of where the mainstream is for any given Division.

I used the same labels consistently though I doubt I ever put the arrows in exactly the same place in any two interviews. By “Women” vs. “No Women” I simply meant that the likelihood of seeing a female as you walked down the hall was staggeringly low on the left and pretty darn high on the right. Likewise with swearing, if you stood in the hall for 10 minutes you’d probably hear an f-bomb on the left and not on the right. Consumer had product planners, other orgs did not, developers decided most everything to one degree or another the further left you got.

Keep in mind I can say for sure this diagram is wrong. The point isn’t that I have the arrows in the right place, but that there are arrows in the first place, and one can haggle over various phenomena as they apply to the different divisions. A person moving from the far left to the far right could reasonably expect culture shock.

What else varied? Well, pretty much everything. In “everything” I include source control, development environments, performance reviews, hiring practices, promotion requirements, testing culture and infrastructure, and more. These things were largely emergent properties of the population that could do the job and/or was interested in the job. But then, it is self-reinforcing now isn’t it? Still, there was very little understanding of such things at the time.

And if we fast forward to now? I’m sure the arrows are different. I stuck with 1995 because I remembered the diagram well and it illustrates the point. And I don’t want to be “that guy” writing about a situation they are divorced from. I’m sure things still vary. I’m sure this is true of every organization of this size to one degree or another.

It might be very interesting indeed to talk about what didn’t vary. But as for speaking truth to power? Well, I can say I did that a whole lot and it worked pretty well for the most part. But I meant a different kind of truth than James.

Rico: “Your problem is that you don’t like the number in A3. Well, no amount of yelling at me will change it. But …”

And that is a whole different article…



Rico Mariani

I’m an Architect at Microsoft; I specialize in software performance engineering and programming tools.