> It is sad really, because Microsoft is years ahead of any other company in the way they treat developers. If you havent used Visual Studio you wont understand that.
Microsoft treat developers like cattle. You've just got to look at their corporate structure, where senior developers might be reporting to a dozen different managers. Companies that respect developers give them freedom and autonomy, they trust in their decisions, they allow them to choose their own tools and their own way of doing things. Oh sure, there are plenty of people working on exciting little development projects that never see the light of day beyond a tech demo, but geting so much as a single feature into a major product has become an ordeal.
For me, the obvious anecdote is the taboo that surrounded the iPhone at Redmond, with numerous reports saying that Microsoft staff felt the need to hide their iPhone from senior execs[1]. To me, that's the sign of a company in deep trouble.
The obvious inference to draw is that Microsoft as a company would rather remain in denial than really confront the inadequacies of their products. Any company that I'd want to work at would have responded to the iPhone by obsessively studying it rather than ignoring it. The really pernicious issue is the obvious distrust and lack of communication between the footsoldiers and their leaders. When staff feel like they aren't allowed to voice an obvious truth - that they prefer the iPhone to any WinMob device - that strikes me as a frightening place to be. It's the stuff of Orwell, the kind of madness you'd expect from a failed state.
I don't care how good Microsoft's IDEs are. I hate Microsoft, I loathe Microsoft, I despise Microsoft because they run contrary to everything I feel software should be. Microsoft seems to crush any sense of wonder and joy out of their employees, something which seems self-evident from their products. They favour micromanagement and process over autonomy and craft. They see software as just some crap that they can package up and sell, rather than something beautiful in itself, something intrinsically interesting and wonderful and beautiful.
You might say "Why should a corporation care about these things?". If you do, you miss the point entirely. Microsoft are stagnant. They're a zombie company, absolutely incapable of regeneration and growth. They are currently trading at below their post-bubble value and have failed to achieve any meaningful growth in several years. Their market cap has been exceeded by Apple; Google are well on their way to overtaking them too. You can't even make the argument that the Microsoft way is about business, because they're failing dismally at that.
Beauty and joy and excitement isn't just good for developers and users, it's good for the bottom line. Microsoft represents the rotten old way of doing things, a way that just doesn't work anymore. Good developers, developers that make stuff that really matters, they don't really care if there is free coke in the fridge, they don't care whether they sit on a Herman Miller or a shipping crate, what matters to them is creating things that matter. As far as I can tell, nobody at Microsoft has done that in a long time; Not many developers on the Microsoft platform have either. It doesn't matter how nice your offices are - if your workplace culture, if the ecosystem of your software feels stifling and ugly and just generally stupid, all the smart developers are going to leave.
Think about this - would Microsoft ever have hired a designer like Ive? Would they have ever have given him free reign? How would a developer like Buchheit be treated at Microsoft? That's why we hate Microsoft.
[1] http://www.tuaw.com/2010/03/16/microsoft-workers-hiding-thei...