How do I get started working as a Professional Developer on SharePoint? Here's a brief outline of the options.
First you need to have prerequisite skills in .NET Development and in particular ASP.NET Development. SharePoint is built on those technologies and most everything you do in SharePoint is using .NET and ASP.NET with additional functionality, and additional API's.
When I started out on SharePoint as an experienced .NET developer I realized there is lots of new stuff to learn. The first thing I did was attend The Great SharePoint Adventure course by Ted Pattison Group. The trainer for the week long course was Andrew Connell.
Ted Pattison Group – The Great SharePoint AdventureMindSharp – Developers Guide to Windows SharePoint ServicesAppDev - FREE Sample Microsoft SharePoint 2007 for Developers Training CD Microsoft Certified Partners for Learning Solutions – Advanced SharePoint 2007 Development
A great starting place is to take an online course.
WSS DevelopmentMOSS Development
Here's some great books on SharePoint development. There are plenty more available at the online book stores so make your own choice.
Inside Windows SharePoint Services 3.0Inside Microsoft Office SharePoint Server 2007
There is SharePoint developer certification for both WSS and MOSS.
70-541 TS: Microsoft Windows SharePoint Services 3.0 – Application Development70-542 TS: Microsoft Office SharePoint Server 2007 – Application Development
To write SharePoint code you need:
static void Main(string[] args)
{
// Update to your server name
using (SPSite siteCollection = new SPSite("http://localhost"))
SPWebCollection site = siteCollection.AllWebs;
foreach (SPWeb web in site)
try
SPListCollection lists = web.Lists;
Console.WriteLine("Site: {0} Lists: {1}",
web.Name, lists.Count.ToString());
foreach (SPList list in lists)
Console.WriteLine("List: {0} {1}",
list.Title, list.ID.ToString());
}
//catch (Exception)
//{
// // handle
// throw;
//}
finally
web.Dispose();
} // dispose is called on site as a result of using()
Console.WriteLine("Press ENTER to continue");
Console.ReadLine();
This is all also described here in the WSS SDK.
This is a great place to search for answers, or to ask questions yourself, or to answer other people's questions. The SharePoint Developer and Programming forum is pretty active.
SharePoint Development and Programming Forum
For WSS (the basic SharePoint API stuff) there are many on MSDN under Getting Started and under Learn.For MOSS there's also Getting Started and Learn material.
Creating a SharePoint Workflow
More SharePoint Developer Virtual Labs coming in June 2008.
There are separate sections for WSS and MOSS so you need to go to both.
http://msdn.microsoft.com/sharepoint - For WSShttp://msdn.microsoft.com/en-us/office/aa905503.aspx - For MOSS
Here's an introductory talk I gave at SharePoint Connections, Spring 2008.http://blogs.msdn.com/pandrew/archive/2008/04/21/sharepoint-connections-talk-on-visual-studio-2005-extensions-for-sharepoint.aspx
Here's a Microsoft Learning Class Material which could be offered by a certified trainer:50064 – Advanced SharePoint Developer course
Online Microsoft eLearning links are here:http://www.microsoftelearning.com/catalog/developer.aspx#SharePoint
More developer resources here:http://www.microsoft.com/sharepoint/learning/resources.mspx
Microsoft Developer Evangelist Lynn Langit:http://blogs.msdn.com/socaldevgal/pages/sharepoint-2007-developer-resources.aspx
--Update 19th May 2008 - I added a Microsoft Certified Partners for Learning Solutions training course. I also improved the code sample to better represent best practices for SharePoint memory management.