What Every Microsoft-focused Developer Needs To Know - Mauro Cardarelli

I have four laptops on my desk. Each has a unique combination of operating system, Microsoft products and development tools. As a technologist, I use them to simulate potential user environments so I can understand and showcase the features and functionality of an individual product or products. Microsoft has recently released a number of new or updated products and I have been busily trying to work with each one. A few days ago, as I was switching from one machine to the other, I made a startling discovery… the required skill set associated with Microsoft-based development appears to be shrinking.
In my position, I have the opportunity to work with a variety of Microsoft tools. Typically, the applications I build are focused on manipulating and presenting data. I categorize the tools that I use into three distinct categories.
Data Storage
From my perspective, this is almost exclusively SQL Server. Whether I am building a simple web-based reporting tool or a more robust product-based portal site, SQL Server is the repository of choice.
Data Transmission
This category includes products like BizTalk, Analysis Services and the new SQL Server Reporting Services. These products transform data or execute a workflow.
Data Presentation
I’m spending more and more time thinking about data presentation exclusively in terms of Office System. The implementation can be as big a SharePoint Portal Server or as small as individual Office product like Excel, Word or InfoPath.
As I look across this product base, I am presented with a consistent set of technology skills that enable me to work with any of these products. These skills define the foundation for the core competencies associated with a Microsoft-focused developer. I break these down into three specific capabilities.
General Database Knowledge
This includes core skills like design principals (i.e. tables, fields and relationships) and T-SQL (i.e. retrieving and editing data).
XML
This includes the ability to read, navigate through and transform XML data.
C#
I apologize to the VB.NET developers (I was once one) but it appears that the .NET world is pushing more toward C# as the standard development language. There are more coding examples and more products based on code written in C#.
When I first looked at the number of Microsoft products that I know and work with and matched it to the list above I was shocked at what I discovered. Everything that I do, independent of the product used, can be isolated to a small number of base skills. From there, I came to a very shocking projection… A convergence is under way. In less than two years, Microsoft-based developers will be empowered to build applications, within and across products, using these core skills.
I’m also willing to make a bolder statement. I believe that very shortly you will NOT do broad-based Microsoft-focused development without the core competencies of general SQL Server knowledge, XML and C#. For those technologists who wish to stay Microsoft-focused, this, in some ways, is a call to action. It is what every Microsoft-based developer needs to know.