Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

(I think my question is sufficiently different from this question to justify asking it. My question is not about useful SharePoint resources, but what technical skills you actually need...)

I'm a developer (from a Linux background...) and will soon be getting my hands dirty with SharePoint (as both a developer and to some extent an infrastructure guy.) I'm interested to learn what I should brush up on. Just a simple question -- what technical skills do you find you need to know a lot about as someone who develops/deploys SharePoint?

From what I've gathered so far, I would guess at the following list:

  • C#
  • ASP.NET
  • SQL Server administration
  • Windows Server administration
  • PowerShell / stsadm
  • SOAP
  • XML
  • LDAP/Active Directory

What do others think?

share|improve this question
1  
Already answered. Hopefully, you will get enough insight into SharePoint: sharepoint.stackexchange.com/questions/26954/… –  Falak Mahmood Jun 26 '12 at 11:15
add comment

10 Answers 10

As you are doing both dev and admin that is a pretty good list.

In my opinion you missed out the following:

  • HTML
  • JavaScript
  • JQuery
share|improve this answer
add comment

As has already been stated SharePoint is a very broad technology stack. If it's a web based technology which is supported on ASP.Net applications then you may need to know it.

Some things not already covered:

  • The SharePoint API/Object Model (cannot believe nobody said that already!)
  • Get to know the really useful .NET classes as well
  • A knowledge of IIS is very useful
  • Understand the web.config file
share|improve this answer
add comment

You mentioned XML. It's SharePoint equivalent is CAML. (Collaboration Application Markup Language). You'll need this when creating list/site definitions and deployments (features and solutions). When creating CAML queries LINQ will also be handy as this is the way it's done in SharePoint 2010, whereby it writes the CAML query for you under the LINQ covers. Also REST. And CSS if you are branding. Phew.

share|improve this answer
add comment

Just for reference, the MS TechNet SharePoint 2007 section has a page called "Technologies used by Office SharePoint Server 2007."

It's not a great list to be honest, but here's the bullet points:

  • Active Directory
  • ASP.NET master page
  • Business Data Catalog
  • Internet Information Services 6.0
  • Microsoft Exchange Server
  • Microsoft .NET Framework
  • Simple Mail Transfer Protocol (SMTP)
  • Single sign-on (SSO)
  • Microsoft SQL Server
  • Windows SharePoint Services technology
  • Windows Workflow Foundation
share|improve this answer
add comment

In order I would say...

XML/XSLT C# JavaScript SOAP

Developers don't typically have to think about AD/LDAP, and most don't touch PowerShell yet.

share|improve this answer
add comment

this is a wider question, but bottom line you would need at least minimal .NET 2.0 or ideal .NET 3.5 (as being the version used by SharePoint 2010), strong ASP.NET development skills (understand page/control life-cycle, create user/web controls and web parts), and then move on to SharePoint development to understand API (Server-Side and Client Side), basic concepts about SharePoint (architecture of a farm, types of objects, topology), types of development - choose your side - front-end (controls, application pages, forms, web parts, etc. and newly JavaScript and/or Silverlight) or more back-end (event handlers, receivers, application services, etc.).

I would recommand go for all the training available freely starting from either MSDN or official SharePoint site as there are a lot of videos to help understanding.

share|improve this answer
add comment

SharePoint is a very, very large and complex product. You can, like a lot of us, get the basic overview of a lot of the features that are used to run it (such as IIS, ASP.NET, AD, NLB, SQL Server), but in order to do it well you need to be particularly experienced and an expert in these areas.

Becoming an expert in all areas is extremely difficult without having years upon years of experience (see what's required for Microsoft Certified Master SharePoint Server 2007 certification), so what you'll need are many experts in the various areas that make SharePoint the best platform (arguably) there is (specific features like Database Mirroring and Clustering with RBS in SQL Server 2008, to name but one).

Additional: I've just read that you are asking what's needed specifically for a development role, I missed that as you said at first "to some extent infrastructure". My bad, but I think what I say above is still relevant to keep in mind.

share|improve this answer
add comment

Take this opportunity to go all out for SharePoint development using C#/.NET and there are plenty of resources to get you started. For a beginning developer, I would suggest reviewing the content of the SharePoint 2010 Developer Resource Center that has development videos and plenty of development code examples.

There is no better way to understand the huge SharePoint architecture than coding against the platform.

share|improve this answer
add comment

I can't recommend highly enough the video courses created by SharePoint consultant Doug Ware which are available via LearnDevNow

I do not know Doug personally nor am I affiliated with LearnDevNow.

My company just happened to purchase this courseware - I think it's less than 100 bucks - and I can't tell you how thorough and quick Doug got me up to speed. I agree with the previous @CMarius and @SBChatterjee answers regarding understanding ASP.NET and architecture.. but, I absolutely saved the most time by starting with Doug's content. He is THAT good.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.