Sabot wrote:
Is it actually a good time to be a developer?
If you believe Gartner the IT industry is heading for 'OS Agnostic' applications either delivered by virtualization or browser but the client OS becomes an irrelevance. According to Gartner the cross-over in trends between OS dependent and OS Agnostic will happen around 2011. So you could argue if Microsoft doesn't get itself firmly into the 'OS Agnostic' space its dominance will diminish.
So with this in mind, the trend is for developers to start picking up those rich-client side skills in Web 2.0 stuff, this with the added complexity of writing code at the entity level (like databases) and Business Logic level such as BPEL for example, Biztalk and all that good Web-services.
Anyway to get to the point, there are so many demanding skills in the development stack it's now impossible for a developer to be a true master of them all .... but we are expected to be! But we all do naturally gravitate to one of the three tiers in our thinking.
(this is a notional argument so don't go all literal and tell me 'I just write client-server' cos that will make me get in my car and drive round to give you a slap :o)
Here again it isn't good news for Microsoft because more and more if you pick a specialism like, client side, you aren't going to want to be married to technology from just one vender or this will further reduce the persective market for your skills.
You've analyzed some of this correctly, and failed in other areas.
I
strongly believe that "Web 2.0" is
not the future, and I doubt a "Web 3.0" will be either. Web 2.0 is too constrained. AJAX is nice and all, but a major pain with significant technical issues when trying to be applied to full blown applications. Plugin architectures such as Flash/Flex/JavaFX/Silverlight would be "Web 3.0", I guess, and they do solve many of the technical problems with Web 2.0. However, the browser still turns out to be a lousy container for applications. Users expect the back/forward buttons and address bar to work in a certain way... which is not compatible with browser hosted applications. Web deployed applications, such as ClickOnce are much more likely to be the preferred application mechanism in the future.
There's absolutely no reason to think the future can't still be dominated by a limited number of technologies, and more importantly, vendors. Yes, we are certainly moving towards an "OS Agnostic" world. A portable runtime such as the Java VM or the CLR can address this. It's very possible that one such runtime could become dominant. It's likely that any such runtime would need to be either open, or preferably standardized, to become dominant, but that doesn't mean that a single vendor could not be the dominant provider of the runtime and tools.
I actually think that Microsoft has done a lot to position themselves very well for the future. .NET is a wonderful platform. They were smart enough to standardize it, which has lead to significant growth even on platforms that Microsoft themselves currently do not support. Silverlight is positioned to be a contender, if not a leader, in RIA in browsers. ClickOnce, WF, WCF, WPF, etc. are all nicely aligned with the notion of moving to a distributed and OS agnostic world.
They aren't a clear winner yet. I think they need to standardize some of those things I just mentioned that are currently proprietary, and they need to ensure these technologies make it to other platforms, whether they do that themselves or take the Moonlight approach again. They also have an image problem to continue to fight. However, I don't see anything here that indicates Microsoft is in any "trouble" or facing "bad news".