Sunday, September 04, 2005

Back to Basics

Why in the world did I start doing this, given that there are so many other fun things to spend life doing?

After a year of posting the occasional note here and going off on various tangents, I want to recenter and refocus on why it's important to me to be so public about Microsoft's current problematic state and to foster some level of transparent discussion about what's going well and what's not going so well for Microsoft. I love Microsoft and I know we have the innate potential to be great again and to backtrack away from this path of mediocrity.

To do this, we're going to have to be a smaller, agile company keenly focused on shipping end-user wow'zing software on-time, shedding ourselves of any groups or leaders who can't deliver.

Upfront request: if you think, within these posts and the comments, there is something worth discussing and sharing, I'm going to ask you to do me a favor: spread the word, spread the discussion.

  • One way would be to click on the little envelope icon for this post (or any post you find interesting) and send it to someone you know that would be interested.
  • Another would be to send your own email with the URL to this blog, , along with what you think.
  • Another would be to plain blog about it, perhaps even discussing your own take on Microsoft's health and its vision for the future.
  • And another would be to print a hardcopy of a particular post and put it up for others to read.

So, what are some top-of-mind concerns and action-items regarding Microsoft today?

Fire the Deadwood

Microsoft is bloated, big, and slow. During the dot-com boom-years, we hired a bunch of clunkers and brought in a lot of questionable talent as part of our even more questionable acquisitions. These folks brought in lower-quality new hires. And you'd better believe that this entitle-focused group of clunkers has their best interest at the center of all their decisions, customer and shareholders be damned. What a sweet job and such an easy system beat!

Sub-par performance and sub-par leadership risks every single product we produce and maintain. We need to focus on getting out the low performers and the dead-wood that just don't belong at Microsoft. Start with a 5% cut in employment all around. And make cuts that make sense for our customers, versus, say, dismantling our premier support across the nation or continuing to foster bad attrition.

Cut Middle Management

Middle management is the fertile ground in which bureaucracy and process and metrics flourish. Middle management isn't all dumb, either. It's going to create work to justify being around and to keep itself busy, and usually this is more meetings, changes and revision and addition to process, and broad initiatives.

Now, I don't mean we need to outright fire everyone in middle management (though that would be just swell). What we need to do is redeploy and reorganize and come up with that old fashion loose hierarchy with very few steps to BillG in the address book where managers have lots of people to manage. At least a 5:1 report to manager ratio, with closer to 10:1 being ideal. The best managers should stay managers and the others be given the chance to drop back to individual contributing. And with a large cut in middle management, a lot of useless, time-consuming process would vanish. Win and win.

Hold Leadership Accountable

If you can't ship a fantastic software product on-time in this day and age of the 21st century, you really need to be fired. Sure, the old IBM 360 mainframe operating system was a bear when this structured programming thing was oh so trendy. But Microsoft at this point is pretty much the planet's accumulation of what it really takes to ship successful software. As of late, we've been accumulating a lot of dung.

If you make a bad decision that trips up shipping key products on schedule it should be recognized as horrible failure. SteveB should throw your chair across the room and out the window - with you sitting in it. Chased with a good stream of swear words for you to listen to on your way down. "F------ slipping p----!" That's the leadership accountability I want to see!

Instead, we're doing a fantastic job accumulating deep knowledge in what it takes to screw up software development and rewarding that as how we do business. Whatcha gonna do? Software's hard! Our future leaders, doing all the hard front-line work today, can put $2 and $2 together and see that executives get rewarded for pursuing big risks and complex integrated initiatives but not actually having to deliver the best products on-time (let alone commit to making profits for the groups in the red).

Speak Up and Act

Where's the outrage? You see it sprinkled here and there in some blogs and in the comments here. You definitely hear it with the muttered voices at lunch. But where's the focused, productive outrage at the amazing downslide of Microsoft over the past five-some years into a passionless, process-ridden lumbering idiot?

Where's the employee outrage of seeing leadership that fumbles the ball constantly but is never held accountable? Where's the shareholder outrage at Microsoft's flat share price? Is everyone content and happy? If you can express outrage over political fumbles, you can absolutely express outrage over leadership fumbles.

Next-to-Finally: why be anonymous? Bock, bock? Why not sign my little ol' name to stand by my words? The main reason is I feel (believe it or not) I have something coherent and important to say here. I believe that many Microsofties share similar concerns and have lots comments to contribute. If my posts were wrapped up in who I was and what product I worked on and what kind of bike I rode, well, that message would get lost within some level of dismissive bias. I'm sure you've seen this, if you read enough blogs (especially the arrows constantly fired at Scoble).

I feel, at this time, that posting these ideas and furthering the discussion is a lot more important than the name and the oh-so-handsome-picture gracing my scratched-up blue badge.

Finally: what's on the top of your mind for Microsoft? What are the problems you'd like our leadership to publicly acknowledge and then visibly work to address and change?



Anonymous said...

Very interesting and discussable points. I don't think the topics are wrong, per sé, for those of us on the outside. I can understand also the anonymity (case in point, moi) as well as not cluttering the point of message with trivial bits about yourself to detract from the message. To play Devil's Advocate only for a minute, I'd caution you from using anonymous the entire time because it can give the impression that the information you're providing violates some sort of company policy and that you're providing information which would result in legitimate termination.

I don't know if that's the case. I would think that, since you're providing open-knowledge information or facts (I'm assuming here), that the company would be hard-pressed to take any action against you which wouldn't hurt their image (further.) If their case is without merit, you would be well within your rights to file a grievance in the form of a lawsuit for wrongful termination. Seems that M$ is more set on settling cases vs. winning them (refer to the last upteen lawsuits filed and talked about in the media.)

If anything, Scoble seems to still have a job. That has to be proof that it's damned hard to get fired from that company of yours :)

Anonymous said...

I think you should remain anonymous as well. You're correct that it keeps the focus on the message versus trying to shoot the messenger.

Anonymous said...

If their case is without merit, you would be well within your rights to file a grievance in the form of a lawsuit for wrongful termination.

That is a lot easier said than done. Unless you are already a lawyer, or have lawyer friends, or have a lot of money. Otherwise you are going to get a rude awakening to how out of reach the legal system is for a lot of us.

Anonymous said...

I'd disagree on having issues when seeking legal representation. Microsoft is a big cash cow that I could see quite a few attorneys willing to line up for a chance to make headlines.

"The cow says....Mooooooo"

You'd actually be surprised at how easy it is. I've discussed this in the past (not this blog, but wrongful terms) with attorney friends which practice both privately and for corporations. Most companies have the urge to move their bowels frequently at the mere mention of litigation, regardless of how many attorneys they have on retainer.

Better to settle than to have you name dragged through the mud.

Anonymous said...

Like I said earlier, you fit into that category of have lawyer friends....

Anonymous said...

In WA we're "at will" employees. We can quit for any reason. We can be fired for any reason. It's not as straightforward as some of the ACs might think to prove "wrongful" termination.

To convince someone to do/not do something at work it's often effective to say "but _____ is a terminable offense". (Yeah - I'm evil.) That tactic may become much less useful if some of those people read this blog comment.

IANAL, but IMHO the owner of this blog has much to worry about. It's not as if we work for Apple.

- Drew

Anonymous said...

Washingon's "at will" status is about as effective as any waiver of liability you sign when you go bungie jumping. If something bad happens and you find a good litigator, you'll be humming "we're in the money" all the way to the bank.

I wouldn't be surprised if there are people that read this attached to Microsoft's Legal and/or Human Resource departments that would verify that.

The company I recently left (much smaller company and I was in IT) had similar problems in terms of litigious staff after termination. You would be surprised how much a company is willing to do to avoid court time. You'd also be surprised at what some will accept to not sue completely.

Anonymous said...

Good post, getting back to basics. The share price has moved up slightly in the past few months, but that has nothing to do with the fundamental issues you and others raise about Microsoft's very real problems. Even if the stock creeps further up, I hope you continue to press ahead and remain focussed on positive change.

A suggestion: you mention a number of issues from deadwood to middle mgmt to upper mgmt. I think an effort to enact change will be much more successful if you choose just one issue and focus on that. If folks are consistently vocal about a single issue, people will notice and the inertia will build. On the other hand, if folks are clamoring about 5 different things, it's just an unfocused low-grade grumble and easier to ignore.

My vote is for upper mgmt accountability. Afterall, shit rolls downhill.

Anonymous said...

While it's easy to complain about the many things large and small that are terribly wrong with MSFT, there still remains the question about how to practically solve them. Doing away with large parts of management is a great idea - but how do you select the managers to reallocate or let go? Effectively, leaving that decision to higher management is a bad idea (because in the worst parts of the org, those are the people with the most responsibility for how f*cked up the current pyramid is and the ones with the most incitive to act politically). The only (also non-viable) alternative I see would be to ensure that management positions _never_ pay more than IC position, thereby removing the motivation for the greedy grubbers among us.

Anonymous said...

If something bad happens and you find a good litigator, you'll be humming "we're in the money" all the way to the bank.

Just hope you're not one of those people that something bad happens to by a company that can afford a lot of good litigators. Even if you do get any money out of it, it is not worth. There are just some things money can't buy, like peace of mind and a sense of privacy.

Anonymous said...

I really agree with the ideas you mentioned. While I don't think this is as important as some other things, how about making it easier to change groups? Right now there are some decently high barriers to switching. You get screwed on your first review, you need permission, you have to interview just like an outsider, etc.

I see two big advantages to this. First people are working on what they are passionate about, so the produce more/better code. Second if people are leaving a team in droves, it makes it really obvious who the bad managers are.

macbeach said...

Keep up the good work, but...

As one of the occasional Scoble arrow shooters, I'm not sure his lack of anonymity has all that much to do with it. I found YOUR blog via Scoble and he has been a good source of links to things both favorable and unfavorable concerning Microsoft. Of course he also posts a lot of dreck, as some of the tools ("BlogThis" being a favorite of mine) make it just too easy to blog a word or two about everything you browse during your day.

The biggest problem I have with his blog is that he occasionally takes on the pretense of being an objective observer of Microsoft products. Let's get this clear: nobody working at Microsoft (after they have gotten a couple paychecks anyway) can be objective about Microsoft products. That lack of objectivity is only amplified by (1) Putting your name on the blog (or website), (2) working in the Microsoft PR or Marketing department, and (3) not having a strong technical (i.e. Programming) background before your time at MS. Scoble has all three working against him.

His message seems to be: "you can trust me, because I post my blog on a non-MS website and I often say bad things about Microsoft. So when I tell you that Virtual Earth or the next version of IE are really great you can take that to the bank!"

I just happen to think that either Scoble is naive or that he thinks most of his readers are. He is basically a journalist by training, and his technical pronouncements should be taken with a large grain of salt (as should much of what we read at CNet etc.) until he has established some credibility. He doesn't have the patience to do this, and furthermore on an occasion or two (that I know of) he has called people who challenge him liars, and even searching for references to articles by someone (on my blog) and posting a comment asking me if I want to publicly support a known liar. In short, he is not too childish to be a blogger, but probably too childish to be representing Microsoft in that capacity, officially or otherwise. If he REALLY believes everything in his blog it would have been better in fact for him to do so anonymously, but then, I suspect he is in the MS Marketing department as a result of the reputation he built up before becoming an employee. Building that same technorati ranking from scratch would almost certainly be impossible.

But whether Soble is a good thing or a bad thing for Microsoft isn't that important in the grand scheme of things. The fact is, Microsoft is too big. The best thing that could have happened would have been for the anti-trust case to have caused them to get busted into two or (better yet) more companies. I think it would have been better for MS, its employees, stockholders, and customers. It would not have been better for Bill Gates ego, which I think might be the main reason that it is still in one piece. When IBM went though a similar ordeal they too avoided a forced break-up, but not long after that they began spinning off divisions and diversifying the divisions they had (and they continue to do this) so that they can focus on one or two core areas at a time while letting the less profitable stuff percolate in the background or just selling them when they think nothing more can be done. They in fact divested and diversified far more on their own than the FTC would have had them do. There is no ego involved when they decided that the printer business wasn't profitable enough, or more recently the PC hardware business. Microsoft, in fact, owes its existence to IBM's willingness to "just let go" in some areas, and while I would quibble that they let too much of the PC industry go too soon, and should have never trusted Microsoft with OS/2, the fact is that the world is a better place for the "IBM PC" and IBM's contributions to computing continue to benefit mankind (speaking particularly of their research work) in ways not nearly matched by Microsoft.

I know the thrust of your blog is that Microsoft can be fixed by making some adjustments here or there. I have my doubts. As a former customer, I don't like what Microsoft has become. I didn't like the monolithic AT&T either, but I'm pretty happy with Verizon. I think there are some good parts of Microsoft yearning to be free, so to speak. The company needs to get beyond being the creation of Bill Gates, and I dare to say, Bill Gates would be better off being a very wealthy stock holder, but being as much interested in his other stock holdings as he is in "his baby". As of now, I think MS has a far larger chance of following the flight path of DEC, who's founder stayed with it almost to the end than IBM, that managed to survive its founders and become true corporation rather than personal empire.

In the future, America's products are going to go head to head with products from all over the world. Microsoft can no more dominate the world market for software than Boeing (a company I continue to have great respect for) can dominate the market for airliners. Both companies can remain big players, or maybe even the biggest player, but right now, our kids stand in danger of becoming dumbed down end-users while Microsoft continues to milk the domestic market and at the same time farming out the programming to kids with formal computer science training in other countries. I'm not happy about that.

Anonymous said...

The best thing you could do for the Windows org would be to fire Allchin, Poole and maybe Valentine. You'd send a message that a lack of delivery will get you shown the door, no matter who you are.

After you get rid of these 3 horsemen of the apocalypse, clean out Windows SE, starting at the top (my personal favorite having spent 2 wretched years there), and fire everyone who ever worked on WTT, even if it was just one line of code.

Anonymous said...

>what's on the top of your mind for Microsoft?

First thing - get rid of non-technical people who are in technical positions. Yes I know we hire "smart" people based on their potential but sometimes that old fashioned engineering degree actually fucking helps.

This may sound trivial or obvious but it really isn't - I would love to hear people's experiences and frustrations in this area.

Second, please for the love of god reduce the number of VP's that we have. Is it just me or does it seem like MSN has too many VP's?!?

Anonymous said...

Okay, I'm outraged, but so what? Fire all the middle managers? Sounds good to me, except I don't exactly have the authority. The best I can do is quit, which I have every intention of doing.

The lack of accountability in this company is incredible. And it's not just the VPs. How many PMs scramble to redesign their features late in the cycle because they lack the judgment, technical expertise, experience, or work ethic to make good decisions in the first place? What's the point of being a manager if you don't make good decisions and you don't take responsibility if something goes wrong? Managers at MSFT get recognition and promotions for working on flashy, high-profile features, even (especially?) if those features are stupid or unfeasible. If Bill Gates has heard of your feature, go out and buy yourself that new Mercedes SUV! You can probably convince yourself that you deserve it!

Anonymous said...

Check out Dare Obasanjo's HR page:

"I have my dream job because of the impact I can have working at Microsoft. You can build really compelling things here that nobody else has built. It's like being a pioneer every day."

Doesn't exactly sound like that in his Judas blog posting!

Anonymous said...

"Doesn't exactly sound like that in his Judas blog posting!"

You can't really blame him. Working in MSN forces people to become bipolar. It's how they deny the reality that the rest of their company sees them as no different from AOL. A friend who works there told me that it's where he encourages employees not performing to apply to, because their chances of success in the review period go up dramatically.

They make money, or at least appear to, but I think that's probably just momentum of services at this point.

Anonymous said...

>Doesn't exactly sound like that in his Judas blog posting!

You people amuse me. I like working at MSN, however I'm not bullish on Microsoft as a whole due to the very issues that are raised in this blog post and in the ensuing comments.

The company can still change and I hope it does but it'll take courage and a sense of accountability on the part of our management to do so.

-- Dare

Anonymous said...

After you get rid of these 3 horsemen of the apocalypse, clean out Windows SE, starting at the top

I wouldn't stop at the top. Get rid of Chuck, Mak, and Mak's directs. Even then you'd still have plenty of useless leftovers in that group.

Anonymous said...

Check this one out, too:

"It's not only your boss, but your boss's bosses who are interested in your career, and you as a person"


Anonymous said...

Let's think a bit about what is different in today's MS products compared to what we shipped 10 years ago. The biggest difference, IMO, is number of dependencies. 10 years ago Windows shipped Windows, Office shipped Office, etc. Hell, in Visual Studio every product had its own IDE, VB IDE was not the same as VC IDE. Now all VS products share common IDE, MSHTML is used all over the place in the company, teams ship different versions of MSXML, Office Scripting Editor is, in fact, reduced version of Visual Studio, assorted versions of CLR and .NET Framework are floating around (and you need debugger that matches the right version), and so on and so on ad nauseam. Number of dependencies across the company has grown exponentially. However, typical developer does not like to go to meetings or manage conflicts or align schedules, let alone joy of participating in triage meetings of another team. However, someone needs to be there to ensure that that bug you need to have fixed in the external component will indeed get fixed and not triaged away. So the new lead is born.

We need to reduce product complexity and if we succeed at that, number of dependencies and therefore number of meetings required to manage them will be reduced and people can get back to coding and debugging. This is, in fact, what makes Google management structure different from Microsoft: Google still has only few client applications with little or no dependencies between them. Yet.

Number of reports actually depends on level of reports. Lucky you if you have team of 10 L61 and higher. But you will suck big time if you have 10 L59/L60. Sorry folks, but I have yet to see a good, maintainable code with decent design written by L60 unless he/she is really underleveled.

The other reason of the management chain growth is a physical limit of how many people and teams you can effectively manage. Effectively means understanding what is going on. If you are lead with 10 reports: do you really know all the code they are writing? Do you really know work of those people when it is time to write reviews? And if you don't, what makes you different from PHB? This is, I guess, why peer reviews are popular at Google: if you manage 20 people there is no way you can write meaningful reviews yourself. BTW, peer reviews would be very handy at senior management levels since cross-group cooperation is always getting one of the lowest scores on MS Poll.

Think how many applications and components Windows shipped in the box in Win 95 and how many are in XP. Compare Visual Studio 10 years ago and now. So 10 years ago senior VP could manage 3 PUMs, but since he couldn't manage 15, new VPs were born.

Now, let's talk about all that firing of management. I can't honestly tell from the comments who is supposed to get fired? VPs or dev leads? Or everyone between the front line developer and BillG? I am not particularly sure that it is the middle management who makes all the bad decisions. Do you think it was Allchin who wanted to cram everything under the sun into LH? Are you sure it was not Steve or Bill? AFAIK, "integrated innovation" was SteveB's invention, and all that increase in complexity started exactly when Bill decided to become chief architect. Sure, Allchin or Poole or Valentine could have pushed back but are you sure Steve or Bill would tolerate that?

Think what do you personally do when presented with unrealistic schedule. To my observation most people push back a bit, but fold when confronted and simply go back to coding, knowing that product will surely slip and date will change anyway, so why fight? I bet exactly the same happens up above. Those folks are not much different, they are still humans. You, who worked on original LH, you didn't stand and scream when you saw the schedule, did you?

So, if you want to go back in time, move Steve back to marketing, put Bill back into CEO chair so he won't have time for that architecture thing and let people who understand nonlinear nature of modern software development (i.e. twice the features mean 10^2 more time and bugs) run the show and make our products simpler and less dependent. Who exactly? Good question. I don't know - maybe Cutler and equal to him. If we still have enough of them left.

Anonymous said...

>A friend who works there told me that it's where he encourages employees not performing to apply to...

Is MSN really that bad?

I am the same person who wrote in a previous thread that I am currently applying to Microsoft. (I'm not applying at Google right now because I botched the interview, although I think if I prepare better I could pass my next interview there.)

The main thing that I am looking for is not to work with x technology but to join a "strong group" because I think 1) it would be the best cultural fit for me and 2) I should be able to learn the most there.

My impression was that MSN is a good place to work right now because Microsoft is feeling competitive pressure from Google, so less bureaucracy gets in the way. Is it because MSN involves building web apps which may be seen as less elite than working on kernels?

Anonymous said...

> fire Allchin, Poole and maybe Valentine

This would be so ironic... Valentine was brought in during Win2000 because Moshe wasn't delivering - Win2000 slipped too much. Valentine came in, shipped it about a year later, and declared victory even though he arrived at the 11th hour.

To see the same fate befall Valentine and McDonald... hehe too funny.

Anonymous said...

Most of the people do most of the work.

If you richly reward your super contributors, That's just super! says Sylvester the Cat.

If you treat most of the people working for you as Average Joes, you are eventually going to get a never ending stream of Dodge Balls fired at your nuts.

Microsoft's nuts are swollen.

Anonymous said...

"Is MSN really that bad?"

Two words: Dare Obasanjo

Seriously, make some contacts in other Microsoft groups and ask for the general opinion. It's better than taking any recommendations from anonymous postings here.

I can't speak from experience, but from what I've seen posted from Microsoft employees, it appears the ones that have most strongly dipped into the Kool-Aid are the ones that work in that division, and I'm always suspicious of groups that so strongly tow the company line. They tend to be full of people who need a job to succeed rather than want a job to succeed.

Just my 2¢

Anonymous said...

Dare Obasanjo shows all the signs of being a classic political:

- spouts on at length about anything and everything
- makes himself out to be the most knowledgeable/competent person in every situation
- has no problem saying different things to different audiences, see his HR blurb!
- manages through highly rhetorical (and highly effective) doublespeak to be disparaging and simultaneously flattering
- pompous, overbearing, patronizing, condescending, with the need to always make himself heard
- permanently high 'visibility'
- probably prides himself on 'thinking different' when in reality the ideas are ancient.

I don't know Dare personally but I know several like him. They make excellent marketers but sometimes I feel they aren't the best people for getting software shipped.

Having said which, I agree with his little rant, we need to cut the intra-team dependencies already.

Anonymous said...

re: MSN.

Thanks. I'll certainly use other sources to form my opinion. However, whenever I hear somebody say something negative, I like get a feel for why they think that (there is usually at least some truth to these things, however sometimes the reason why they think that wouldn't apply to me.)

i.e. in this case it could be possible that MS management is actually pretty good with respect to MSN because of competitive pressure from Google. I've heard that working on the MSN team is neat because they actually ship frequently. Thus, people working on the team might have a different impression of the company and hence seem to "drink the kool-aid" from the perspective of an outside observer.

I'll talk to some more people...

Anonymous said...

Ship frequently may mean their software is pretty simple and that means you won't learn much about serious software development. Sure, large projects takes longer to ship, but you also learn more.

Anonymous said...

Whom should AC attack next?

I have no idea what kind of person Dare is, but at least I haven't seen him assasinating anyone's character. And I would know if he did because he's not afraid to post his name in his comments.

- Drew

Anonymous said...

Great post. I was thinking about a similar thing this weekend regarding my situation at MS. While I was mowing my yard I started thinking about the things that made me unhappy with work, and what I could do to fix them. After realizing there wasn't a whole lot I (personally) do about company-wide things, I focused on things I could do in a 3-6 month timeframe. Things I thought would make my job more enjoyable and indirectly improve my product's position in the market and MS as a whole. (My other plans were too long term and wide-scoped to be possible...)
Here's what I finally decided:
Start a "undercover" project. A project that everyone knows needs doing, but no one would get budget/permission to. I already know I'm going to need a ton of help, but I have some co-workers I think I can convince to slice a little time from. Hopefully, we can do something to make a difference. (Even just thinking and planning this has caused me to get more excited about the daily grind.)
This post has helped solify my resolve on this...reading the comments assures me that something needs to be done. For those of you interested in the project I'm planning, let me drop some of the links I visited that got me thinking about this:
I've got some more thinking to do on this whole thing...but I do think there is some potential value in it.
Anyway...I'm still considering the ramfications of this...wondering how underground I want to be. Anybody have suggestions?
Finally, I just want to say thanks to the author of the blog. I have forwarded posts out to guys on my team already, and think there is some really good, insightful stuff here. Please keep up the good work (and post more often)!


Anonymous said...

Start a "undercover" project.

If it's ever successful, you'll then get some PMs involved to hijack your ideas, you'll get some process wonks involved (more often than not Indians - when you don't grow up in a culture which encourages creativity, you fall back to telling creative people how they should be doing things) and finally you'll get a test team who don't really get what you are doing but are really good at filing bugs about typos in v0.9.

Save your energy and find a rewarding hobby.

Anonymous said...

Shorter Mini: stretch management thin, then make them accountable.

Interesting plan.

Anyways, I can't say that Mini's recommendations jive with my experience at MSFT. The people I work with are, to a man, completely competent and extremely talented. I've worked at places before where I had my own personal "deadwood" list, but in my corner, we don't have any inessential contributors.

We do have, I realize, a legacy code problem -- our code base is very clunky and inflexible, and that's because a combination of a lot of things: the original coders were your classic "Einstein" trust-no-black-boxes C programmers who consequently invented EVERY wheel, including virtual method dispatch -- but even since then there's been no scheduled time for refactoring and health improvements; in fact no attempt at trying to abstract reusable components and architectures. Everything is a one-off, hacks required to make deadlines, all because necessity is One Big Mother.

As a result we have layers of process formed because it's virtually impossible to add anything without breaking ten previous things -- granted, regression risks are part and parcel of the development process, but not to the degree we have to deal with.

Okay, so it's easy to identify there's a problem. It's easy to tell when someone shits the bed. It's very hard, on the other hand, to figure out how to unshit the bed, other than trying your best to keep other people from shitting the bed too. I have no quick-fix solutions -- I don't think there are any quick-fix solutions, not even Mini's. What compounds the problem is that we all work in our own MSFT, and various groups have various issues they have to wade through.

Anonymous said...

Dude you hit the nail on the head. I've worked on two different V1.0s in my career and they've all been a great example of people "shitting the bed" and then moving on to avoid the smell. And you know why this is? Because people around here can't take critique. Back in the day I could fire up Outlook and say, "okay, folks, this piece of code crap and whoever checked this in should burn in hell". Now I can't. Come review time I'll get slammed with peer feedback, even if I'm right.

Another issue is that there's zero correlation between your code/design quality and your review score. I find this really frustrating, because I tend to check in "poetry" (even if it takes a bit more time), while the guy next door often checks in crap that makes my blood boil. Guess which one of us has higher ladder level.

Anonymous said...

Start a "undercover" project.

I did that and paid for it at review time.

They claimed that I worked on it during working hours and therefore used company resources (that would be you, whoever you convince to work with you, and whatever equipment you use).

If they want to burn you, it does not matter if you worked on it during your own time.

You either have to be able to prove you worked on it without using company resources or you have to get the approval of your manager and hope he does not steal the idea.

A PM in the group where I worked had an idea (some of you may be shocked to hear that). A couple more senior PMs stole the idea and then botched it. He was so disgusted that he moved to a different group. Because he moved, we then got one of the PMs that botched the idea.

If it is a great idea, create a start up and either hope you get bought by a larger company or sell it yourself. Being a small company, you would also have to protect your idea and implementation with patents especially if a company like Microsoft could more easily implement it themselves instead of buying your implementation.

Oh, you also have to prove you did not develop the idea while employed at Microsoft because they own it if you did.

And, of course, if you work on it right after you leave Microsoft, you have to be able to prove that you are not competing with Microsoft because you are prohibited from competing with Microsoft for one year after you leave.

Also, you would have to recruit anyone from Microsoft before you leave because you are also prohibited from solicting anyone to leave Microsoft for one year after you quit.

If it is worth the effort, go for it.

If not, remain in thrall to your desire for the comfort of a salaried position.

Ask the owner of your working life for more bugs to fix to quell your rebellious spirit.

Anonymous said...

Going back to the original question of what needs to change, heres a problem which needs to be addressed -

We need to fix our PR/Marketing.

- who would win a popularity contest between, say Haliburton and MSFT? We probably are even more hated than tobacco companies. Is it just me or does anyone not see a problem here? We were supposedly the number one recognized brand as of a couple of years ago but just compare the public perception of Coca Cola (#2 brand) with ours and theres something really fucking wrong there.

- We have the WORST and LEAST effective marketing campaigns EVER. Ever seen a cool tablet PC ad on TV? No? Heck, tell me about even ONE cool ad that you've seen which wasn't related to xbox. Motorola launches a huge, cool, fucking campaign when they change the goddamn color of their most popular phone which everyone is now clamouring for and we're busy with our "start something" campaign. Great.

The PR issue is equally important as the engineering problems we face within the company. Either we fix things now or else we're going to slip further down into this quagmire...

Anonymous said...

Microsoft is the fourth-most-admired company in the world:,23181,,00.html

4 out of 5 alchemists agree Microsoft is the bomb diggity.,15114,1028754,00.html

By Abrahm Lustgarten

”Corporate reputation is the product of alchemy—a mixture of everything from the way a company nurtures homegrown talent to how it manages its balance sheet. Throw in one part customer satisfaction, another part shareholder return, add a splash of community citizenship—and voilà!—you have a measure of that company's station.”

Anonymous said...

We need to fix our PR/Marketing.

A few modifications to Halo 2 and Halo 2 -- The Movie ought to do it.

The defeat of the Open Source Community in the first Hello My Name is Bill game was only a temporary victory, as the Outsourced attackers have renewed their mission to wipe out all of monopoly. Despite the monopoly force's and Master Chief's efforts, the Open Source Community has breeched the Earth's defenses and have left its inhabitants in a dismal situation. In the midst of desperation, players assume the role of Master Chief and lead the resistance against the Open Source Community to save the people of Earth from a gruesome demise. Hello My Name is Bill 2 will feature an immense and epic single player mode, as the story picks up where it ended in the first game. In addition to the single player mode, Hello My Name is Bill 2 will also feature a redesigned multiplayer mode. While the first game limited players to LAN connectivity, Hello My Name is Bill 2 takes multiplayer missions online by way of Xbox Live.

Anonymous said...

Ship frequently may mean their software is pretty simple and that means you won't learn much about serious software development. Sure, large projects takes longer to ship, but you also learn more.

I wish that was true. Windows' overwhelming complexity means that the primary problem space it's dealing with is project management, not software engineering. The two have a huge intersection, but they aren't the same. I've worked in Windows, Office and MSN (currently MSN, so add whatever salt you want to what follows).

To the original person wondering where to go at Microsoft: Would you rather spend your time figuring out how to make a piece of code work faster or be more friendly or "cool", and ship it to 1,000,000 people, or spend your time figuring out how to make a very targetted, well-documented, probably trivial change that almost nobody will notice, but will be on 1,000,000,000 machines? Both will involve dealing with complex codebases and doing true software development, though MSN will cut more corners. You'll learn lots in both places. You'll probably learn more about scheduling and process in Windows, and more about efficient algorithms and bug-fixing and ad-hoc hacks in MSN.

And yes, management is really good at removing roadblocks in MSN-land, largely because of Google. Note that there are downsides there, too; it's very high-pressure and driven by fire-supression.

Anonymous said...

you said:... But Microsoft at this point is pretty much the planet's accumulation of what it really takes to ship successful software. As of late, we've been accumulating a lot of dung.

Why, oh why, do you insist on repeating this fallacy? Every part of MS that I deal wih seems to think if they repeat it often enough it will be true. The MS software development process appears to be as fossilized. You seem to attribute MS's successs to the process, when it was a combination of the opportunity and the people.

MS is not a flexible, risk taking culture anymore, which is why google can get a product out to the field while MS labs is writing papers on it.

I have been working with the MS TV people, and they haven't EVER shipped a real product.


Anonymous said...

"Microsoft is the fourth-most-admired company in the world"

And our financial forecast is just peachy cos our last quarterly results were stellar, right?

Anonymous said...

And make cuts that make sense for our customers, versus, say, dismantling our premier support across the nation

Yeah. That might be nice.

Anonymous said...

The excuse for being anonymous is pretty feeble - but as you are most likely a M$ fan, rather than an insider, probably quite wise.

If you are an insider, the honest reason for anonymity is the risk of being fired, fair enough. So why not be honest?

Nothing you've said is more than simple common sense and simple 'good management' ideas. But none of it is going to happen, precisely because of the problems you identify.

And what's all this about M$ being the best software in the world? Not for many, many years. Even when M$ sits on standards boards, it's incapable of making compliant software, and no software is as clunky and system-hungry as M$ - indeed, the sodftware reflects the values of the corporation - lean and mean it is not!

Companies do not - cannot - refashion themselves. Once the hunger has been replaced by sloth, there is no future, but a slow decline. Show me an exception?

The splitting of the company will help the shareholders, as did making the baby bells all those years ago, but it did not change the corporate outlook. A mature company is a mature company.

M$ had its day in the sun; there's no second chance in business, is there?

Anonymous said...

It shocks me how different things are in the field than at Redmond.

Some subjects are sacred cows. Try saying one word publicly against offshoring, f'rinstance. You may not get fired outright, but you will damn sure get managed out.

Cherish your freedom, but I strongly recommend you remain anonymous.

Anonymous said...

I agree there is far too much bureacracy and too much requires consensus to move forward. And yet, despite all that, I'm still here. I must be one of the last handful of people that still think that MSFT is a better devil than most. But then, my perspective is a bit different. I worked 15 years before getting here; the last five were with a company that froze wages all five years, took away bonus three out of the five years, and had employees pay 40% of the cost of the insurance premuium. Why did I stay? Why does anyone stay? I stayed for the work and the people. When I finally had enough and decided to do more than just complain, I moved to MSFT and had a field day with the extra $15k per year I wasn't shelling out for the privaledge of having benefits. I've had crappy mgrs and really good mgrs at MSFT My resume hits the street everytime I have a crappy one. If I find a better offer/opportunity, I'll take it. So far, haven't found the right combination of great work, good people, great benefits outside of here. As for the politics/bureacracy/bad mgmnt - it's been there at every company I've worked with. Comes down to my own personal bulls--t meter. I'm willing to live with a fair amount of it and not have to worry a) will my paycheck clear this week b) where will my office be and what will I be working on, and c) budgeting for benefit costs
If I didn't have a family it might make some of a difference. However, I'm still doubtful that any company can outlive that first year or two blush when all of the crap doesn't show.

Anonymous said...

I work in the field as an ATS and I see the same things; bloated middle management, onerous processes and no focus on the customer. I think we could cut a full third from our workforce and no one would notice.

Anonymous said...

The thing about the monopoly is that it conceals the internal rot untill it is too late to repair it. comes to mind.

I'm convinced there would be a huge improvement in productivity if half the vice presidents were sent to pursue other interests.
If nothing else, it would reduce the size of the pig pile of e-mail to congratulate the accomplihments of those who work for them, by way of claiming creidt.
Steve of course thinks differently, that the limit to growth is the number of V.P.'s he can hire.

The other question is deeper; Is the program management concept a success? It seems to lead to endles meetings with nothing accomplished and software that is bloated with useless features added by committeees.

Anonymous said...

The middle management 'reduction' discussion is interesting.

There is no such thing as 'middle management'. There are direct contributors, and others. The others are overhead, BUT they can become significant 'makers of difference' when they define the allocation of resources, scheduling, decomposition of large tasks, and most importantly they provide 'thought leadership' and personal leadership.
They certainly do not create make-work projects and usually have short but to-the-point meetings.

Does Microsoft have any such managers?

If you know of any, sing their praises, so that they can rise to become even more effective.

That is one way to make a difference.

fCh said...

It is interesting how most blame is directed at management in these postings. And, to a great extent, management is responsible--otherwise how in the sky could they justify the salaries?

In ancient times, people used to vent their passions during carnivals, when kings and fools exchanged places for a brief. In the long interval between carnival days, it used to be religion. In democratical societies, we have elections. Religion has been replaced by shows and morale-building exercises (i.e. propaganda). When the individual contributor doesn't believe anymore in the show managers put on, it's time for a (ritual) reversal... So, managers, take notice!

Yet, where is the personal responsibility that arises from a conscious decision to grow up as individual and either clean up the mess around you or move on?

In the end, let's face it, the cake is in only one place!

Cheers from

Anonymous said...

Who cares about Microsoft or any other company’s corporate direction or internal politics?
Why not use blogging for open discussion of business and technical ideas (and don’t worry about not getting your patent or ultimate contract) that will propel us to meet the challenges of the future.
Not only will society benefit collectively but you may personally become very wealthy, if that is what you want.
People may even like you too.


Anonymous said...

Speaking of our managers and what they are worth I have a question.

Is it just me or there are others who also think Brad Anderson (I think formerly with Novell) is an SOB?

Anonymous said...

I'm a MSFT shareholder, not an employee. It is interesting to see these perspectives out in the open. I've made a little money off MSFT, but I have to wonder how much wind is left in their sails if the opinions expressed are valid and true.

My biggest complaint about MSFT is they try to have a finger in every pie. Take X-Box. I'm not a gamer, but from what I here it is good technology. All well and good, but why does MSFT need to be in the game business? They have a desktop monopoly (practically speaking) and a market leading office productivity suite. None of that software is bug free or perfect, and there are still ways to make money off of it. If they want to run X-Box as an "incubator" project and spin the company off to their shareholders, fine, but why take on that battle when there is plenty of room to grow core business lines? They also want to get into phone service, search technology, software services, the list goes on. MSFT, stick to your strong core technologies, and make them work right!

fCh said...
This comment has been removed by a blog administrator.
fCh said...

For the MSFT shareholder who asks why the Company has a finger in the gamming pie, I would venture to answer:

Because of digital convergence;
Because of no-longer growing revenues in those areas that have made him money so far;
Because it's fun for the engineers who work on it;
Because consumers welcome alternatives (to Sony and Nintendo);
Because it's there (as a growing market)...

Should I go on?

Anonymous said...


Anonymous said...

Wow, interesting.

Try a s/Sun Microsystems/Microsoft/ and that reads pretty straight too.

Anonymous said...

So here is the culture change I will bring to Microsoft the day I become its CEO:

"1. Carve internal divisions into autonomous companies each with its own CFO and independent accounting system. They still cooperate and their products can carry Microsoft brands. But they must be like trading partners. For example if MSN search division need Windows Server 2003, they must pay to the Windows division. Conversely, if Windows Server 2003 is not delivering pre-agreed upon performance/stability, MSN can switch to LInux and the Windows division has to give a refund to MSN. Also an engineer can chose to work for whatever divisions who will pay him most or who is most exciting.

2. Google is like a Mongolian army tearing through Europse now. To fight Mongolians, you must fight like Mongolians. MS has money but does not have as many innovative people. What business is similar in this respect but very successful? Right, top venture capitalists. MS has to stop being risk-averse and invest like venture capitalists into outside ventures. Invest 2 million a pop and take a 20% equity in 200 early stage firms (less than 10 employees) and take a hands-off approach."

Anonymous said...

Steve its ok to speak out directly you don't need to hide behind this blog. We understand the job is stressful but your starting to appears schizo...

Anonymous said...

The real issues for us real people out there are :
- how can we restore freedom of choice in the desktop computing. Imagine the same situation in the auto industry, if 95% of the cars sold were Hyundai's and you had to drive one even if you didn't like it..
- why do we have to pay a 50 to 100$ "Microsoft tax" with almost each computer sold on the planet, whether you like it or not
- how can the balance of power be restored between the Big-ol-Microsoft-World-Dominant and us, the dummy-users-cashcows...
- why did Microsoft had to wait for Gmail to come out to expand my hotmail account from 2 lame megs to 250 megs ? (I still swtiched to another email provider)
- by the way I'm sending this blog from a Firefox browser on a Linux PC - that doesn't have (and doesn't need) an antivirus software running !! Lucke me , eh ?