They have a secret weapon, one they’ve had forever, but that their competitors don’t see.
Microsoft “gets” developers. They provide superlative support to developers. This may seem like a simple unimportant thing. It’s not. This is why developers who have used Microsoft solutions always gravitate to them. And this is a million individuals, every time a development group is discussing what technology to use, has these million people lobbying within their group to use the Microsoft tools.
At Windward (my company) we know both Java and .NET really well. And every time we’ve written a server app, we’ve gone with .NET. Part of it is the .NET stack is better designed which can only happen if you have one company architecting the entire thing (the Java stack is a collection of products from different companies and open source efforts). But even more important is the support.
First off, the MSDN forums have Microsoft employees who’s entire job is to answer questions on the forums. No matter how esoteric the question, in most forums (theIE F12 forum being a rare exception) you’ll get an answer. They will even go to the development teams to find the answer if needed.
And if that isn’t sufficient, you can open a support ticket on any question. With a MSDN subscription you get some of these thrown in for free. But even if you have to pay, it’s well worth it to get a quick answer to any question.
For a development team, with deadlines always hanging over your head, knowing you can get any question answered about the software you use is gigantic. No one wants to face the possibility of a multi-week delay as you try to figure out what is going on in a software library you can’t get support for.
A lot of other companies have embraced StackOverflow for technical questions. Google & Oracle have apparently outsourced all their support there. I’m guessing someone in accounting came up with the brilliant idea of “hey, let’s send people there and others will answer for free – eliminating the cost.” Except, no. Yes if you ask an easy question, someone will answer it. But for the harder questions Stack Overflow tends to be ask-only.
This has led to the situation where Microsoft’s competitors all figure they are providing quality support (via Stack Overflow). Meanwhile developers see that using products from these other companies could lead to significant unexpected delays as they are left trying to figure out how a library works.
Meanwhile, while Microsoft products have their equal share of undocumented results, bugs, unclear documentation, etc. – they also provide a fast workaround. And it’s a workaround that can be depended on.
As Microsoft continues to keep the faith of most developers out there that Microsoft has their back, those developers will continue to select Microsoft solutions whenever possible. And that is a giant advantage for Microsoft.