I've been in the job for 4 months now, and after spending 9 years being a non-Microsoft developer, its been a hard transition at times. I've learnt a lot in the short time I've been here and have seen the roadmap for the future of a lot of Microsoft products going forward.

It didn't hit me until this week after I spoke to a highly regarded Adobe Flex Developer whom attended a WPF Summit and then a few nights ago, after sitting in on a presentation on Microsoft Longhorn Server (IIS 7.0 specifically).

We are on the right track and here is why:

  1. C# or VB.NET are your friend. If you have invested in this language now, you will have strong currency going forward with all of Microsoft's product offerings as all roads lead back to these two languages.

    1. You will be able to use this in WPF going forward.
    2. You will be able to use this in configuring server products like IIS7.0 to do some interesting things with via code.
    3. You will be able to use this language in a whole array of pieces (Mobile Devices, Business Dynamics etc), bottom line you're not switching between multiple languages.
    4. You are able to work with MS SQL Server in a very elegant fashion ( to most anyway) and not as much SQL syntax as the past (funny, I went to a DBA dinner the other night and a few DBA's pulled me aside and said, love the direction but help me get there! - which reminds me..).
    5. You are able to have certification levels to show off your achievements and more on how Expression etc will play a role in this space as things develop.
    6. etc...
  2. XAML, much like point two this is essentially the only real other language you will need to get your mind around at some point in the future. Its easy to read, and while it can be verbose, the tools can take over a lot of the burden for you (yet, for those of you whom have distrust or cruise control in cars, there is manual overrides available).
  3. SDK's. I've not seen so many SDK's from Microsoft than I have seen in the last year with Microsoft. I was amazed firstly at the level of pieces I could screw around with in Windows Vista while at the same time be kept locked down (e.g: Vista SideBar Gadgets).
  4. Developers, Developers, Developers. Steve Ballmer did that dance thing and It kind of freaked a lot of people out back in the day. I thought at first "someone should cut his sugar intact back" but recently I finally get where he was going with that line of thinking. Microsoft pay very close attention to the developer base, and after watching how MVP's for example not only get nominated but are then received within Microsoft, it put my mind at ease that this is the right formula.
  5. Products. I can't say enough about how well the products are coming off the assembly line and some how work with one another. I mean there is still room for improvement, but it's interesting to note that there are a lot of bodies working on these products and somehow they have integration paths with one another for developers to leverage? That's truly amazing effort to behold as not many companies can pull this off.

    I've also found the "rampup path" for a lot of the developer tools to be refreshing to be apart of. Microsoft are going to great lengths to ensure that if you were to switch from LanguageA to ours, there is a journey you can go on to do this and hopefully via Online.

Is this perfect? nope. I said it's the right track, now we'll need to take a few beatings for awhile longer to get our direction(s) aligned appropriately but overall if you're not chasing 100% perfection but can be happy with say 80%, then overall you won't be setting us up to fail or yourself for that matter.

I'm seeing encouraging signs of developers whom never touched a line of .NET code asking me daily "Dude, hook me up with WPF" or "Can you setup a training session on .NET for us?" and so on. I've also seen developers from not only Adobe space but also Java space find it an easy enough transition to some of the technology stacks on offer. The path forward isn't as scary as I also originally thought (personal experience that is).

I'm also getting really behind the Longhorn Server eco-system as Jeffa has been showing me some really cool and relevant pieces that developers could run with in a comfortable fashion. I love this product and can't say enough about it.

I'm finally, and most important of all seeing that Microsoft is really working hard at interoperability, in that it's encouraging non-Microsoft product vendors and developers are given access paths into products.

I'm in Seattle for a deep dive session around our Live.com strategy next week (pre-) and I'm looking forward to this as I think it will put the final pieces for me together on our overall Web 2.0 strategy going forward. An example was how Live.com "Advanced" tab works, brilliant but I'd like to see it more visually obvious though.

Hate/Love Microsoft but overall they are making some exciting ripples in the IT industry and specifically around the web-tier.  We are coming off scary as well, I can appreciate folks getting a little freaked out by how much breadth in terms of product tiers we are touching on, so I also get the resentment at times (even agree with it as well at times).

Silverlight is on the table now, people are providing opinions on catchup factors and penetration statistics, I get that and it's a conversation that really will not end in a positive response, so what I would say is that given the total eco-system that Microsoft is moving towards in the next upcoming 5 years, it can't hurt to at least look at it? can it? hedge your bets and all.

I've glanced at the schedule and it will also give a lot of hints in the right direction, so pay attention kids :)

Bottom line folks, there is a lot of room to move in Microsoft markets.

P.S
I know this post sounds MS Fanboi style, I apologize if this is the case but I'm having a lot of conversations with a lot of developers from all language streams and this is what most will agree on (reluctantly) - of course with an immediate follow-up of "Now this is why Microsoft sucks" rant ;) (which is cool!).