Getting Started with SharePoint Development

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.

Go on a Training Course

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 GroupThe Great SharePoint Adventure
MindSharpDevelopers Guide to Windows SharePoint Services
AppDev - FREE Sample Microsoft SharePoint 2007 for Developers Training CD
Microsoft Certified Partners for Learning SolutionsAdvanced SharePoint 2007 Development

Online Microsoft eLearning Training – Free for a limited time

A great starting place is to take an online course.

WSS Development
MOSS Development

Read Books

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.0
Inside Microsoft Office SharePoint Server 2007

Get Certified – Take an Exam

There is SharePoint developer certification for both WSS and MOSS.

70-541 TS: Microsoft Windows SharePoint Services 3.0 – Application Development
70-542 TS: Microsoft Office SharePoint Server 2007 – Application Development

Write Your First SharePoint Program

To write SharePoint code you need:

  1. SharePoint installed on your local development machine and this means you need to run Windows Server 2003 or Windows Server 2008. VPCs are available here. There is a SharePoint one, or you can get a smaller base and add WSS or MOSS to it.
  2. Get Visual Studio 2005 Professional or above, the Visual Studio 2005 extensions for Windows SharePoint Services 3.0, v1.1 and the Visual Studio 2005 extensions for Windows Workflow Foundation (Visual Studio 2008 support is planned for June 2008).
  3. Get the WSS SDK and the MOSS SDK. They are also available online for WSS and MOSS.
  4. Start Visual Studio on your Windows Server machine that has SharePoint installed and create a new Windows Console Application. Yes there are SharePoint project templates, but I'm going for a fast first SharePoint program here and we don't need them yet.
  5. If you are on Windows Server 2008 then make sure you started Visual Studio by right click and run as administrator.
  6. Add a reference to Microsoft.SharePoint.dll (shown in references as Windows SharePoint Services)
  7. Add a using Microsoft.SharePoint
  8. Add this code:

static void Main(string[] args)

{

// Update to your server name

using (SPSite siteCollection = new SPSite("https://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();

}

    9.    Run it with F5

This is all also described here in the WSS SDK.

Join the Discussion and Ask Questions on the MSDN Forums

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

Watch WebCasts

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.

Try Virtual Labs Online

Creating a SharePoint Workflow

More SharePoint Developer Virtual Labs coming in June 2008.

Spend time on MSDN

There are separate sections for WSS and MOSS so you need to go to both.

https://msdn.microsoft.com/sharepoint - For WSS
https://msdn.microsoft.com/en-us/office/aa905503.aspx - For MOSS

Check Out More Online Resources

Here's an introductory talk I gave at SharePoint Connections, Spring 2008.
https://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:
https://www.microsoftelearning.com/catalog/developer.aspx#SharePoint

More developer resources here:
https://www.microsoft.com/sharepoint/learning/resources.mspx     

Microsoft Developer Evangelist Lynn Langit:
https://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.