I'm a Microsoft fan. I started my professional career as a software developer in the early '90s. I was hired into a Apple Macintosh-biased company and I was one of the new programmers tasked to bring the company's very successful Mac product to Windows 3.1. It was a great time, but one of the key takeaways was that Windows OS 3.1 -- while uglier that the Mac OS 7.x -- was actually more powerful. Windows had protected memory. It had better documentation. It had more machines running it; and it was a harder problem to satisfy all the diverse vendors. It had better development tools. It had better connectivity.
Then Windows 95 came and and it was completely clear the Windows was the superior OS. The new Visual C++ editor + debugger made debugging complex problems easier than on the Mac. And the PC games were typically better (and much more common).
I then joined Microsoft as -- ironically -- a Mac developer in the mid-late 90s. I disliked working on the Mac. Originally the Mac group developed and debugged using Visual C++. Then we switched to CodeWarrior. It wasn't a total disaster, but developing on the Mac "operating environment" (as opposed to an "operating system") was always aggravating. I recall a ".plan" that John Carmack posted about the frustrations of developing on pre-Mac OS X. He said something to the effect that you had to enter a Zen-like state of tranquility to endure the frequent reboots.
Then Steve Jobs came back to Apple. He brought with him the coolest/best technology at the time -- NeXTStep (aka OpenStep) and, most importantly, his vision and eye for quality and elegance. At first I was cynical of Steve's supposed ability, but after seeing him at various Apple Conferences I saw his genius.
And then Microsoft slipped. Windows 98 wasn't bad, but integrating the browser into the OS was a poor move. To this say I still don't intermix web browsing with file browsing (and isn't it bizarre that we still don't have a completely easy was to get to documents from the Web? -- Windows should do this out of the box). Windows Millennium was actually a downgrade in some respects (it had poor performance). It seemed that it was only made to make money -- not innovations.
Thankfully Windows XP shipped. The new Luna UI was a breath of fresh air. It had the stability of NT with a nice new UI. It wasn't the best UI, but it was a refreshing change. What further impressed me was the MS was able to keep the lid on the Luna UI until the last minute.
Then MSFT stock went stagnant. At first it was fine; at like MSFT hadn't cratered like the rest of the tech stocks. Surely MSFT would bounce back. Unfortunately it wasn't clear that with Ballmer taking over a few years before that, the technical leadership that Gates had wasn't as clear. Microsoft sunk money into MSW -- which never really paid off. The rumors were that the threat was AOL taking over the "last mile" of the internet and Microsoft being squeezed, but that never came to pass. ISPs weren't where the money was. The money was in quality content + advertising. And Google was just getting big as the "cool new search engine."
Then a series of failures beset Microsoft. Hailstorm. Passport. and to an extent .Net. None of these seemed to take off as expected. The loss of Hailstorm was really bad as it affected the release of Office 2003 which was originally intended to have strong web interoperability. As a result Office 2003 was just another Office release.
Around that time Microsoft took away one of it's key employee incentive tools: stock options. True, it replaced then with Stock Awards, but they never had nearly the allure of options. What made things worse was the Google and Apple were still giving options and their employees were doing quite well. I was still proud to be a Microsoft employee, but the was the Stock Awards were "sold" to the employees as a "great thing" still leaves a bad taste in my mouth.
Also around that time it seemed that Microsoft wasn't hiring as good-quality employees. Working with other teams was more difficult; there seemed to be a lack of follow-through with groups as developers seem to become more of a commodity that could be outsourced. Thankfully my local work group didn't seem to suffer from these problems too badly, but I had associates whose work environment became much less challenging and enjoyable because of outsourced "talent."
More recently the news seems to be a bit better. Morale is on the uptick thanks to a great HR leader (Lisa) and some good products (Xbox 360, Zune, and Office 2007). Unfortunately the flagship of Microsoft -- Vista -- is underwhelming. It still truly amazed me how little progress was made in Vista given that two long cycles of Office have shipped in that time. And the developer tools are now bloatware (and MSDN is truly starting to suck -- it needs to be written and/or reviewed by veteran developers who understand what they are documenting!) And the stock still hasn't kept up with Apple, Adobe, or (needless to say) Google.
I still believe that Microsoft is a very good company to work for. They have great benefits (like 20/20 Lifestyles) and still treat their employees with respect. But I still worry. It seems like there is a lot of employee cruft still around in the company. There are certain groups that seem to need to be dissolved. Thankfully with the shakeups in the Windows org it looks like that is happening. But management can do only so much, there still need to be great employees that are unfettered by bureaucracy. Microsoft needs to pull out all the stops and hire away key Google employees into a new, freer "greenhouse-like" Microsoft without too many cooks in the kitchen (i.e. program managers). A great program manger is one that is sharp and scarce. And ultimately respectful of developers. Basically a program manger needs to be a developer first (and they must choose to be a PM),
It is still great to indirectly support Bill Gates -- the biggest philanthropist of our time -- and make great software for millions of people. But Microsoft needs to empower it's employees overall more by making them the best-paid and most responsible employees in the software business. Microsoft needs to be tough and generous at the same time.
Here's to the continued rebound of Microsoft (and MSFT) for 2007 and beyond!
Tuesday, January 2, 2007
Subscribe to:
Posts (Atom)
