So what makes a great SharePoint developer? I am betting there are a ton of answers, but I am leaning towards a short list of skills that every SharePoint developer should have.
5. Patience and sense of adventure
Let’s face it, if you are not going to stick with a career for more than three months you are dead from the beginning. SharePoint is not a ‘read this book to become a guru’. Granted, this does apply to most other technologies as well, if you do not plan to do some hard work to be good, chances are you will be stuck on the starting line of a marathon.
Be prepared to put some major effort into learning and do not be discouraged if you do not succeed immediately. You have months of great discoveries ahead of you, and my experience has been that the rewards far outweigh any effort I put into learning.
Not exactly a skill, but still an important virtue.
4. Workflows and business process automation
Businesses invest in SharePoint to either make or save money. One of the easiest ways to show customers how that money can be saved or made is to show Business Process Management. Workflows are such powerful tools that every SharePoint developer should have good understanding of what is possible.
My previous "Automating Business Processes in SharePoint" series can give you a good starting point:
Automating business processes in SharePoint: SharePoint Designer Workflows (Part 1 of 3)
Automating business processes in SharePoint: SharePoint Event Receivers (Part 2 of 3)
Automating business processes in SharePoint: Visual Studio Workflows (Part 3 of 3)
3. SharePoint User Experience understanding
Your SharePoint solution may be as technically beautiful as Mona Lisa, but it will not matter a single bit unless your users can understand how to use the solution. Try to put yourself into the shoes, boots, or sandals of your users and try to interact with your solution. Can you imagine any better way to display and interact with information? Do you even know how to change the display of a form? Are your content types logically organized?
My upcoming book, Building the SharePoint User Experience, will address many of the technical issues. There is also a SharePoint Magazine.over at
However, technical knowledge will bring you only half the way. You still need to work with your users to understand how they think, what they expect. Have them draw up what they imagine as the perfect SharePoint user experience. Then your job will be to work with those ideas and create a solution that users understand can with which they enjoy working. If your users are not on board your solution will be less used and the value will diminish.
2. XML basic knowledge and CAML deep knowledge
If you are going to develop anything beyond simple Hello world web parts in SharePoint you need to work with CAML. Your best way to start out is to learn basic XML and then move on to reading all you can about CAML.
CAML, being an XML dialect, is so important it is a contender for first place, but I realize that there is one more important thing…
1. ASP.net skills to rival Rambo
Ok, I’ll admit, I have no idea how good Rambo is at ASP.net, but I think you get my point. As SharePoint is based so much upon ASP.net, being good at SharePoint means being good at ASP.net.
The more your work with SharePoint and the deeper your knowledge goes, the more you see how ASP.net runs in the veins of SharePoint. Learn ASP.net properly and understanding SharePoint will be a much simpler task.
Do you disagree? Are there more important skills you think should be on this list? Let me know…
Found this article valuable? Want to show your appreciation? Here are some options:
a) Click on the banners anywhere on the site to visit my blog's sponsors. They are all hand-picked and are selected based on providing great products and services to the SharePoint community.
b) Donate Bitcoins! I love Bitcoins, and you can donate if you'd like by clicking the button below.
c) Spread the word! Below, you should find links to sharing this article on your favorite social media sites. I'm an attention junkie, so sharing is caring in my book!