Found this interesting topic, i read 2 guys thinking from their blog, and i wanna share with you guys.
Everybody has an opinion, and yours may differ based on your personal observations and experiences.
I’ve been working with the .NET Framework since the first BETA in 2000, and I’ve seen a lot of stuff come and go. The following are what I consider to be my Top 10 List of things about .NET you must learn, going forward with the technology from 2007 on:
1) WCF (Windows Communication Foundation): While WCF is certainly less “sexy” than say WPF / Silverlight, it is going to represent the backbone of solving business problems with .NET going forward from here. Big organizations are starting to embrace it, and it provides a cohesive framework for solving business problems in a distributed, integrated way. WCF integrates Remoting, WebServices, EnterpriseServices and Transactions, WSE, MSMQ, and much more into a cohesive programming framework. If you intend to make it your business to study just one new .NET technology this year, make it WCF.
2) ADO.NET (and LINQ): ADO.NET is how you talk to a data store, and databases are such a ubiquitous part of what you will do as a developer that you have NO CHOICE but to become extremely competent in this area. The next big thing in how to talk to data is LINQ with language extensions and entity objects that “represent” mappings of data and its relationships. If you don’t become at least familiar with all this stuff, somebody else is going to eat your lunch.
3) WPF (Windows Presentation Foundation): Everything you learned about Windows Forms, pages in a browser, and UI elements is going to go out the window, because Microsoft has already declared that WPF is the new way we’re gonna do this stuff. Its already built in to Windows Vista, and the XPS (XML Paper Specification) is already built into the printer subsystem. Don’t hang on to the old- get with the new just as fast as you can get your little tushy in gear! And besides that, WPF is just so friggin’ cool, it will knock your socks off in hi-def streaming video!
4) SQL Server 2005 (and on): I understand this isn’t really .NET, but then again it really is. SQL Server 2005 hosts CLR integration of managed code. That’s not only revolutionary, it provides a power to the programmer that you cannot get on other platforms. You have to learn everything you can about SQL Server 2005 including Service Broker, because it will help you to be a better programmer and problem – solver.
5) ASP.NET 2.0: Even non “web programmers” need to understand how this works. The feature set has grown and matured, and you are looking at dynamic languages, LINQ, AJAX, and much more being integrated into the ASP.NET Framework (not to forget Silverlight – the sexiest technology of all of them!).
6) Security. Developers are notoriously weak on security (“Who cares about permission sets – I’m just a Code Monkey”). Unfortunately, we do not live in a perfect world and there are evil people out there who jump with glee when they can mess up your day. The more you become an expert about security, the higher your pay will be: expert security consultants make upwards of $300 / hr.
7) TDD (Test Driven Development): Unit, regression and integration testing aren’t a luxury – if you want to develop robust systems then you must have a test protocol. And to do testing right, you need to study how to write tests and what tests to write. There are several excellent books on TDD and at least one that specifically focuses on .NET.
8) Networking (System.Net and related): Networking — TCP, UDP, HTTP, FTP, and on — are an integral part of what you need to know how to do in order to glue programs together and make them be able to talk with each other and your data. The more you know about this area, the better equipped you’ll be to make the right kind of choices when you are tasked with creating business logic through code.
9) Threading: When asked to develop a multi-threaded object or to use a ThreadPool, 95 out of 100 programmers who claim to be professional .NET developers fall flat on their faces! You need to study all the threading primitives, know how they are used, be able to use the .NET or a custom ThreadPool, and manage threads in your applications.
10) Learning. That’s right, I classify learning as a technology. People need to become smarter about how to learn, and especially, WHAT to learn. Just as you become a better programmer when you learn to use the Google or other search engines more effectively, you become a better programmer when you can detail for yourself what you need to learn to be better at your craft, and write down a plan for implementing that learning process.
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.
- 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.
- 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.
- 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 DinnerNow.net 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.