Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I was just wondering what skills and technologies I need to know to in order to start a career path in Sharepoint. I know that it primarily depends on the job I am applying for but there must be a number of baseline skills that are common among most Sharepoint jobs.

Btw, I'm currently a CS student who has only learnt Java.

share|improve this question
    
I would like to be a developer. Would a general knowledge of Data Structures, Algorithm, and Distributed Computing be necessary in Sharepoint Development? Or are basic programming skills enough? I would rather not continue with this degree at the moment if it won't benefit me in this area. –  Ein Doofus Dec 30 '11 at 19:47
3  
That is a very short sighted point of view. All of the items you have mentioned are extremely useful in software development (normally once you have several years of experience under your belt). Just because they might not tick the knowledge required for "Sharepoint" box doesn't mean they are useless. –  Oded Dec 30 '11 at 19:50
    
I know but I meant just at the moment. I could drag this degree out forever but currently I want to spend 90% of my time on some type of career path. So with Sharepoint specifically, are such advanced skills required? I mean am I actually going to have to work about such things as multiple threads? I'm currently trying to prioritize what I need to know at the moment. –  Ein Doofus Dec 30 '11 at 19:58
    
Watching some of the howto videos may give you an idea: msdn.microsoft.com/en-gb/office/ee534018.aspx –  Oded Dec 30 '11 at 20:01
    
Sorry, I'm at work so I can't watch those videos. What sort of programming knowledge is required to do share point? Is there any OOP involved? Will I have to take advantage of design patterns or is the programming side mainly small scripts? –  Ein Doofus Dec 30 '11 at 20:48
show 4 more comments

4 Answers

up vote 4 down vote accepted

to begin with you won't need a development language nor development experience to learn how to use the out-of-the-box features and the basic CMS stuff, but when you start custom development you'll need: -

  • C#\VB & ASP.NET is a must, for custom development.
  • Common web development stuff like (HTML, CSS & JavaScript).

books i recommend: -

beginner

advanced

share|improve this answer
1  
One thing I've noticed is that a lot of places want an administrator and developer all in the same person. –  jfrankcarr Dec 30 '11 at 20:16
    
@jfrankcarr - Well, when you need to get sharepoint up and running, that's probably a good thing. –  Oded Dec 31 '11 at 8:21
add comment

I've been developing for SharePoint 2007 (MOSS) for around 4 years or so with almost all of that time being custom code (not skinning, not creating lists but rather writing custom web parts, workflows, list templates with event receivers, timer jobs, etc.) I haven't had much opportunity to work with 2010 yet but from what I've seen, it's much the same in terms of parts and pieces to customize though the actual code content can be more complex given the presence of sandbox solutions, etc.

In general, this is what I've needed to be successful:

  1. Patience.
  2. Tenacity.
  3. Comfort with reflecting tools like Red Gate Reflector or ILSpy.
  4. Strong OOP [Event and Feature Receivers, Timer Jobs, Workflows, Reflection]
  5. Strong ASP.NET Web Forms Development [Web Parts, Custom ASPX Pages, etc.]
  6. Good Knowledge of XML [Features, Content Types, Field Definitions]
  7. Good JavaScript [jQuery SPServices, Custom Field Types, etc.]
  8. Willingness to Seek Out and Follow Best Practices

SharePoint development is, at the best of times, frustrating. The MSDN documentation is often wrong or misleading regarding the XML structures for creating fields, content types, etc. I use a tool from CodePlex called WSP Builder which helps but is itself plagued with things that aren't right. From experience I've learned where the mines are hidden and I can quickly step around them but I watch new person after new person get blown up. SharePoint is not a very easy system to jump into and be off and running in days. The more comfortable you are with concepts like OOP reading other peoples' code the faster you will be able to pick it up but it is still an uphill battle.

On the other hand, doing SharePoint administration is a bit easier if there isn't a need for complex solutions. Creating lists, setting up alerts, using SharePoint Designer shudder to do some tweaking of the layout and look of pages, activating basic workflows - these are much easier and can be picked up from some classes. Every SharePoint environment needs these people, not all environments want developers like me. While I can write code that is more tailored to an in-house need, it means there is now more code that has to be supported by staff rather than COTS products which come with their own support.

Speaking as a person that does interview technical screenings of candidates, someone with SharePoint knowledge but no development background or experience will not pass. It is much more important to have the knowledge and experience with development concepts than SharePoint specifically. You can pick up the quirks of SharePoint while working with it - you can't pick up mature development practices the same way. In short, I wouldn't want to work with a company that would have a non-developer developing for SharePoint.

share|improve this answer
    
1,2 and 8 is really all you need. The rest is just knowledge that you can pick up as you go along (if you have some sense of pride in your work that is). The thing that irks me the most is number 6. SharePoint is really heavy in XML. –  Patrik Björklund May 1 '12 at 19:16
add comment

I am answering this because you said "Start with SharePoint" and not "Start with SharePoint Development" and this is not an indictment or an endorsement of SharePoint but ...

If you are economically hard up and are looking for a minimum set of skills, I can say with some authority, because our company does a lot of SharePoint work, that many many companies actually are not interested in any kind of customization or development work of any type. Most of the 'development' work, actually ends up being a lot of infrastructure work, setting of lists, configuring configuring configuring, maybe some skinning, maybe deploying some off of the shelf components, maybe a workflow here and there if they are fancy.

So it is conceivable that at a minimum all you might need is a SharePoint admin certification and some mad interviewing skills and you might be able to land a job somewhere doing SharePoint. However, the HUGE caveat here is that will only take you so far. If you do not have knowledge of the ASP.NET framework that it is built on top of, much less web programming in general, or any kind of C#/VB if you are doing a workflow, then you will run into a road block pretty fast. I'd direct you at @OmarQa answer for more info.

One of the most brilliant developers I ever met worked primarily in custom SharePoint development and was deep in code most days. Another I knew came from a non-technical background and tired to do a little coding as possible but that what the people wanted so he did well. So keep in mind there is a huge spectrum to work within.

share|improve this answer
add comment

Assuming you want to develop for Sharepoint then .net and C# are a must

share|improve this answer
8  
And a strong stomach. –  Oded Dec 30 '11 at 19:43
    
Why the strong stomach? I don't know much about being in the trenches with it... –  Ein Doofus Dec 30 '11 at 19:46
1  
@user786621 - Just my experience with it. Worked with it about 6 years ago and swore never to have anything to do with it again. It might have improved since. Not that I wasn't able to work, but everything seemed to be overly engineered and convoluted (and coming from a webforms background, that's saying something). –  Oded Dec 30 '11 at 19:49
2  
@Oded - I agree about the overly engineered and convoluted part but right now "thar's gold in dem dar hills". –  jfrankcarr Dec 30 '11 at 20:08
2  
@jfrankcarr - Yeah, thanks to guys like me ;) –  Oded Dec 30 '11 at 20:09
show 1 more 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.