Friday, November 05, 2004

Inaugural Posting

To start things off, let's begin by dissecting a blog post by Nat on October 18, 2004.

1. Nat says that "Microsoft has become a depressing place to work".
One of the most interesting changes in the last five years is that Microsoft has become a depressing place to work.
First of all, this assertion is categorically untrue. Nat's reference is another blog. I'm not sure who this guy at minimsft is, but to cite one blogger's opinion as a definitive source seems pretty dubious. If I were going to make this claim, I would cite a poll of employee morale.

Working for Microsoft rocks!

There, now someone can cite my blog to refute Nat's. I even put it on its own line, in bold no less. This is the kind of epistemology which the blogosphere encourages, and which too many blog readers buy into.

By the way, I work for Microsoft and I find it anything but depressing. So far, Nat is 0 for 1.

2. In the next sentence Nat says:

Microsoft embodies the old-world software mentality: large-scale, abstraction-driven, developer-focused, client-based, all founded on high-margin licenses of intellectual property.

I'm not really sure what Nat is driving at here. For the most part, the development model at Novell is not that much different from that at Microsoft. Sure, Novell dabbles in open source software, but read their financials and you will find that the lion's share of their revenue comes from their proprietary offerings: Netware, Groupwise, and ZENworks. It would be hard to make an argument that any of these products follows anything other than the "old-world software mentality" which Nat derides. Nat never does say what's wrong with "large-scale, abstraction-driven, developer-focused, client-based" software. And it's pretty clear that Novell's flagship offerings are "founded on high-margin licenses of intellectual property".

What's wrong with large-scale? Some software, like enterprise management or accounting packages are by necessity "large-scale". Is Nat suggesting that enterprises should cobble together a myriad of "small-scale" software to tackle industrial strength tasks?

What's wrong with abstraction-driven? I might be obtuse, but I thought the whole point of object oriented languages like C++, Java, and C# was to provide even more powerful abstraction.

What's wrong with developer-focused? Making an OS developer-friendly is one of the keys to getting smart people to write applications that run on your OS. Just look at MacOS. It is extremely "user-friendly", but has never managed to gain much of a foothold in the developer community. To me, the developer focus of Windows is one of the great MS strokes of genius.

What's wrong with client-based? Sure, this means a footprint on the workstation, and I know many people in the industry embrace the fantasy of a zero-byte client. But with today's hardware, most of the spare cycles are on the client, why not push processing to the place where it can be serviced? SETI@Home understands this.

3. Nat's "frequent slips" link is an article about a single slip:
Their all-at-once approach to software development means long, risk-prone release cycles and frequent slips. Meanwhile, even Apple puts a new version of Mac OS X out every year, and of course Linux is highly modular and new functionality is continuously available to those who want it.
Microsoft produces literally hundreds of software products, and to extrapolate this single slip to "frequent slips" is a bit disingenous, to say the least. But this is typical Nat. Nevermind that his company, Novell, follows the all-at-once approach to software development for Netware, Groupwise, and ZENworks, to name but a few. And nevermind that Nat has the audacity to claim that Apple puts out a new version of Mac OS X every year... um... shouldn't it be like Mac OS XII by now then? Other companies call these yearly "releases" service packs.

4. Nat goes on to complain about Microsoft's focus on developers:
Microsoft's focus has always been on developers, and when you hear Ballmer and Gates talking about Longhorn, you hear them talking about WinFS, Avalon, and Indigo: terms that mean nothing to software users, but that are endlessly interesting to developers.
It's interesting to note at this point, that Miguel (Nat's Ximian cohort) spends most of his time porting C# and .NET to Linux. I think it's safe to say that a programming language and virtual machine infrastructure are developer-centric. So if Microsoft is making such a mistake here, why is Ximian spending so much time playing catch-up?

Hypocrisy aside, these technologies will have tangible benefits to users, because developers will be able to create more interesting and powerful applications on top of them.

5. Nat touts low-tech scripting languages and derides Longhorn features as "erudite fluff":
The web has taught people that low-tech stuff can be really productive. Lots of people are using PHP, Perl and Python in areas you wouldn't expect. These are real, salt-of-the-earth tools. By contrast Avalon and some of Microsoft's other recent efforts at programming environment design look like out-of-touch erudite fluff, with a rank odor of cubicleware evident from miles away.
He even cites a reference for this, Miguel's blog. Nat is quite right that people are using high level scripting languages in lots of places you wouldn't expect. That's part of the reason you have to upgrade your hardware every couple of years. I wonder if by "other recent efforts at programming environment design" Nat means .NET, which he and Miguel are currently porting to Linux.

Maybe Nat is just more comfortable with VB and PHP, I don't really know. Maybe issues like memory management really are too hard for the open source community to deal with. Honestly, I thought these guys were smarter than that.

6. Nat speculates that maybe there aren't fewer bright people interested in IT careers, maybe they're just not interested in working for Microsoft:
But indications are that for the world's most talented hackers, the bloom might be coming off the Microsoft rose. Gates keeps lamenting that talented people are losing interest in IT, and has recently been stumping for the field. But what if he's got a dark window on the IT world not because software is failing to attract bright developers, but because Microsoft is failing to attract bright developers?
And as a reference he cites, you guessed it, another blog. A real source points to a general decline in enrollment in computer science programs. Still, Microsoft gets about 1,000 resumes per day.

7. In response to customer concerns about the business model for open source software, Nat answers the question with another question, what is the business model for software? Unfortunately, he doesn't grace us with an answer:
And the worst bit of news for the Company that Copyright Built is that software business models are changing. People often ask me what the business model is for open source. Lately I've been telling them that they ought to ask what the business model is for software. The only thing that's for sure is that no one is going to get their own private jet for writing a spreadsheet program anymore.
Ask yourself this: Is it smart to invest in a software company whose executives can't answer their own question about the business model for software?

8. Finally, Nat relates to us his experience with Microsoft:

The day they offered me a job five years ago, the employment brochure (which I just found the other day, cleaning out my office) was full of testimonials from young Microsofties talking about how cool it is to write software that millions of people use.

I'm really not sure what has changed since then. Perhaps Nat will enlighten me...
Microsoft's stock has since come maybe 40% off their high; a fall, but not a big fall compared to the other companies squeezing through the eye of the needle after the tech stock bubble burst.
This is pretty funny, because Nat's post originally said something about how MSFT had come 65% off their high (luckily, someone quoted the original), which was completely factually inaccurate, and I called him out on it in an email. He has since revised his estimate downwards to 40%. I still don't know where Nat got 40% from, maybe someone other than me could crunch the numbers and let me know how he might have arrived at this figure? I would just like to point out that, despite the recent purchases of Ximian and SuSE, NOVL is currently at a whopping 17% of its internet bubble peak.

But this is not Nat's real point:
The real change appears to be in the climate. I'm glad I didn't go to work for Microsoft, but not because I got to do something cool elsewhere, or because they're "bad people;" I'm glad I didn't go to work for Microsoft because that place doesn't seem like fun anymore.
Nat directly references a post by the minimsft blogger for this assertion, taking the post completely out of context. I just don't get how someone can cite a single person's opinion, with no context (hell, maybe this minimsft guy is on the chopping block as a low performer, who knows?), as a definitive source on Microsoft morale, and expect to be credible. I guess the answer is, welcome to the blogosphere, sucka! As long as your assertion is underlined, has a different color from the rest of your text, and when I click on it I go to another blog, then it must be true!

I work for Microsoft and it rocks!


As for me, Friday I attended a theory group talk at MS Research (MS Research organizes talks on a nearly daily basis), then went to a party to celebrate $37 million in employee charity donations where I got to watch executives sing karaoke and take a plunge in a fountain. What could be more fun? :) If you're still skeptical, we had free beer, wine, and hors d'oeuvres. And then we rented out Qwest field for our ship party on Monday. Cool perks, but the coolest thing about working at Microsoft is that I get to interact with extremely smart people from all over the world, which is something I haven't been able to do since grad school.

And by the way, I also got to work on software that millions of people use.