Some people think that by blaming Microsoft, I’ve removed the responsibility of self development from the developers themselves. These are two separate things.
Developers who want to expand their horizon, enhance their craftsmanship, will find ways to do that. And because there are so many sources, they will probably not get it just from Microsoft.
But we few, we happy few, are the minority. Most developers are not looking to expand their knowledge. So how do they solve their problems? They go to Microsoft.
It may look weird, but if I’m using a tool or technology from Microsoft, I expect it to work. I expect working examples, and I expect support. While you and I won’t even think going to Microsoft for help (Google it first!), most people see their MSDN subscription as insurance – MS will give the answers!
And Microsoft, wanting to retain its leadership in tools and technology (because all technologies require Windows, which makes MS lots of money) obliges. They create lots of info – support forums, how-tos, videos, Channel 9, team blogs, and even has a group that tells us how to develop better (Patterns & Practices ). And with all these channels, developers learn to rely on Microsoft for the solutions and practices.
Only a few jump off. Those that do become better programmers. The majority is left behind, gets accustomed to solving problems the Microsoft way.
And after whole this, I want to get back to my original point. There’s a symbiosis inside the Microsoft ecosystem – developers requiring solution and guidance and MS giving it back. But it all revolves around the technology platforms. If we recall for just one moment our place – we’re there to solve business problems – we find that (apart from self development) we make our livelihood by mastering the technology.
With the rate of technologies flying out of Redmond, some more stable than others, to master one or more requires to find, debug and solve problems in that technology. And this is where I was going – to be proficient in the technology, you need to be a better debugger.
Sure, it helps if you’re a better developer. It’s great if you are. But MS is responsible for the way the ecosystem works, encouraging devs to be CSI investigators, rather than preventing the crime in the first place.