There is big SharePoint team in one of my customers and it’s a good blend of developers, engineers, analysts, and managers. When this team started in 2007, only a handful (2 people really) was knowledgeable in the ways of SharePoint. But because the user-base for this organization is so big, technical resources of other backgrounds started getting recruited to become part of the SharePoint team. Traditional network engineers became SharePoint farm admins. ASP.NET developers became SharePoint developers (that’s how I got into SharePoint). Other Web developers (Coldfusion) became SharePoint developers too.
There are still some Coldfusion developers in this organization but these Coldfusion apps are being phased out and eventually will be converted to ASP.NET and/or SharePoint. These Coldfusion developers do not have a background on ASP.NET programming model, which is really different, closer to VB6 model if you look at it that it is closer to “classic ASP” model. “Classic ASP”, Coldfusion, and PHP are in the same category in my book—they are server-side scripting. ASP.NET and SharePoint on the other hand are more object-oriented.
One of the Coldfusion developers asked me which topics on ASP.NET and SharePoint should they learn and in what order. They are excited to develop SharePoint stuff such as Web parts and workflows but need some guidance on where to start.
Here’s the list of high-level skills/topics I pointed out one should in order to develop SharePoint solutions:
- ASP.NET model
- ASP.NET User Controls
- Intrinsic Objects (HttpContext, Application, Request, Response, Server, etc.)
- ASP.NET Page life-cycle
- ASP.NET Web App configuration files
- .NET Namespaces
- Object-Oriented/Component Programming
- Properties and Methods
- Implementation (interfaces and abstracts)
- SharePoint Features Development
- Visual Studio SharePoint Project Extensions/Templates
- SharePoint Object Model
- Deploying Features using STSADM