Kirk Evans Blog

.NET From a Markup Perspective

What Technologies Should I Focus On?

There is an interesting post on the Help.Net blog about the Top 10 .NET Framework Technologies to Learn in 2007. No Sliverlight? No SharePoint? I like the list, but I don’t think it hits the mark for where the money is at. That’s why companies employ developers… to reduce cost or increase revenue. That’s why we write code… that’s how we pay our bills.

If you haven’t already signed up for our Web Experience Expo events in New York City, Los Angeles, or Denver… there’s still a few registration spots left in each, and most of these 10 technologies are covered. No, I didn’t pick these top 10 in a thinly-veiled attempt to market the event… I picked the top 10 as topics for the regional events. Trust me, these are the topics that customers want to hear about, these are the things that company executives recognize as key value propositions of the Microsoft platform.

Here’s a recipe for financial success in 2007, in order.

  1. Microsoft Office SharePoint Server 2007. We get so many requests to talk about Windows SharePoint Services and its capabilities that our team at Microsoft cannot keep up. MOSS 2007 finally steps up to the plate in the major leagues and fixes so many of the problems that previous versions of SharePoint had. There is a distinct lack of tools for extending various sections of MOSS, which equates to a somewhat unapproachable API. Be one of the few that can make MOSS dance, and you have big consulting dollars. Create some great add-ins and wizards for common tasks, and make money selling them. There’s a lot left on the table here for developers. And if you know ASP.NET 2.0, your life will be all the easier. I don’t think I can stress this enough, MOSS is the single largest area of opportunity for developers and architects.
  2. Silverlight. The post-MIX buzz wasn’t just on blogs. Some of the largest companies I work with (yep, many of the same ones you saw as MIX demos) are looking hard at Silverlight. Expect some incredibly cool implementations that many other sites are bound to want to imitate. The whole RIA and AJAX thing is just going to get louder, looks like a good wave to ride for awhile. There’s a lot of excitement beyond the developer level, at the executive level, for Silverlight.
  3. ASP.NET. If you can’t recite the Page and Control Lifecycle for ASP.NET, you should start committing it to memory. Reiterating that SharePoint technologies are built upon ASP.NET 2.0. The more I see how companies are making decisions to base their entire infrastructure around SharePoint, the more I think that there will be work for years to come for ASP.NET developers. Re-familiarize yourself with JavaScript, learn what JSON can do for you. Get to know the ASP.NET AJAX 1.0 library, there’s going to be a lot of JSON-related work for awhile to come, especially since this is getting rolled into the next version of ASP.NET. Get to know IIS, especially IIS7.
  4. Windows Workflow Foundation. If you don’t get why this is a game-changer and is near the top in a short list of technologies, then you haven’t spent time really looking at it yet. Look at how MOSS 2007 implements WF with out-of-box workflow templates for approvals. Go look at and look at how WF was used in that solution. Instead of trying to refactor 10-15 ASP.NET pages to make changes to a process, why not just load up the WF designer and encapsulate the process visually? I heard a great explanation this week by Ted Pattison.  The CLR is a boundary for applications because your types can only live within their created AppDomain, within a process.  WF extends the CLR across processes and provides out of box services for persistence and isolation.  This is the stuff that companies are looking for… how to make the hard stuff easier.  Spend the time understanding it, see how the paradigm shift of how to build applications will make your programming life better.
  5. Windows Communication Foundation. We are seeing more and more companies allocating budgets to figure out what SOA means to them and why they care. A big reason is that WCF can be faster than what you are using today. We are seeing a lot of companies that are starting to get the whole loosely coupled, message-based architecture idea. And those same customers are starting to see that if you are going to build an architecture based on WS-* you would be crazy not to use Microsoft’s stack. Yep… another area to focus on for developers and architects. There’s a ton of room for ISV’s and SI’s alike.
  6. SQL Server Integration Services. SQL Server 2005 has a huge surface area to cover, it would be ridiculous to try to say “focus on SQL Server 2005”. And if you are using any of the above technologies, you know how to write TSQL. What you might not have focused on is how to use SSIS to process data visually. I see developers all the time trying to figure out how to move huge amounts of data from one store to another and map values, fields, and columns programmatically. This is what SSIS excels at.
  7. Domain Specific Languages. I will admit, this seemed like a very half-baked concept that Microsoft was limping into. We introduced the DSL Toolkit amidst a ton of blog buzz… and then seemingly nothing. After watching the Patterns & Practices group churn out some incredibly useful software factories, you can’t help but give Software Factories and DSLs a second look. Try baking your company’s architectural approach and tools into a set of reusable designers through the DSL Toolkit. I know it’s got a steep learning curve, but the results can be amazing. We have been working with a partner on a proof of concept that we will be unveiling this week in New York City… I can’t wait to see people’s faces when they see DSL taken past a Hello, World demo.
  8. Identity Metasystem. Spend your time understanding how to use CardSpace to secure your ASP.NET and WCF apps. CardSpace is an identity selector for the Identity Metasystem. The really cool part is how you build a website that accepts Information Cards. The real interesting meat is how you build your own Secure Token Issuing Service. Not straight-forward to implement yet, so getting into this now will put you much farther than everyone else as various solutions continue to introduce themselves into the marketplace. Spend your time figuring out how to leverage CardSpace for your web site, there is starting to be a huge demand for people who understand how to make the end-user’s experience better where security is concerned.
  9. Visual Studio Tools for Office. I’ve never been an Office client developer before, and this one took me awhile to understand. VSTO will be a game-changer for application developers. When you see Office 2007 with MOSS 2007 and its out of box functionality for content types, you might say “hmm, ok, that’s cool.” Once you see how easy it is to use the Ribbon API and create your own task panes in Excel and Word, you might think “OK, I see where that could be useful.” Once you see the whole thing together in a solution with SharePoint, then you will have the a-ha moment. It’s not just about VSTO, it’s about how you can integrate client applications with SharePoint. Get to know SharePoint, get to know VSTO. This is how many companies are seeing the future, and seeing that they can put together solutions much faster than you can with any other platform or technology.
  10. Virtual Earth. There are so many opportunities for Virtual Earth in everything from mashups to blogs to corporate applications that it is just amazing. How about a SharePoint app that surfaces all of your backend data from SAP, provides data visualizations using Silverlight, and enables mapping through Virtual Earth? Just look at the Accruent demo to get a taste of what other companies are seeing.