It doesn't have to be so painful

“Wait… what? .NET I get… Web Parts make sense… Server Object Model I can get behind, but what’s up with v4.Master, CAML, XSLT, XML, core.css, JavaScript, jQuery, SPD, features, solution galleries? Really??? All I want to do is pre-populate a couple of fields and make the screen look less ugly!! I hate SharePoint!!”

Take a deep breath and count to ten. We’ve all been there. Do not despair. You are not unintelligent. You are not a moron. You do not need to quit your job to find work in the fast food industry, and you are not alone in your frustrations with SharePoint.

You would probably be surprised at just how many companies, users and developers do not understand fundamentally what SharePoint is or what SharePoint can do. Just look at the number of “SharePoint Killer” applications that have come and gone. SharePoint is different, it is massive, and it can be the most complicated platform you will ever work with.

Thankfully there is hope and you can succeed. You can not only succeed, but thrive. So, before you trade in that cubicle for a drive-through window, let’s take a closer look at what you can do to alleviate some of that anxiety and wrap your head around this SharePoint Beast.

Take the Time to Get to Know SharePoint

I’m sorry to break it to you, but you are not going to become an expert SharePoint developer by taking a training course, reading a book or attending a few conferences. It’s not going to happen. Don’t get me wrong, there’s some great information out there and some outstanding training courses. It’s possible to become productive in short order, but if you really want to excel, if you want to know what you are talking about and make the best decisions possible, you really need to invest some time in the technology. Here are a few tips to help you out:

Learn the Lingo

Remember when a web application and a web site were the same thing? What the heck is a List View anyway and why do I need to care about a Content Database? SharePoint has its own dictionary of terminology and one of best things you can do to make your life easier is to learn the SharePoint lingo. Whether you are searching for an answer online or trying to articulate your problem to a seasoned SharePoint pro, you need to use the correct words to find the answer you need and to make sure you are understood. So, you have a problem with your site? Well, do you mean Site Collection, Web Application or Sub site? Yes, it matters.

Learn the Structure

When it comes to learning SharePoint, one of the key points you need to understand is the basic structure of a SharePoint farm, its many layers and how/where your solutions are going to be deployed. This knowledge will help you take into consideration things like permissions, search and scope for your solutions as well as help you ensure you don’t overburden a content database with too many sites.

When you start writing code that traverses lists and sites for data you’ll appreciate knowing where to look and when you need to use an SPWeb object as opposed to an SPSite object. Learn the structure of SharePoint and you can spend more time writing code and less time figuring out why you can’t find your feature to activate it.

Learn the Basics

You know what every great SharePoint developer has in common? They all know how to use SharePoint. Before you can even hope to start adding value as a SharePoint developer you need to be comfortable in the environment. Make sure you can do everything an ordinary user can. Create a site. Create lists. Play with list views, site permissions and the out-of-the-box workflows.

You’ll be amazed what you can actually accomplish without having to write a line of code. I sometimes find myself sitting in end user sessions at conferences and secretly slamming my head against a desk because I’ve written code to do something that any user can do in 5 minutes.

I’ve also interviewed several “Senior SharePoint Developers” who didn’t have a clue what a Site Column or Content Type was. I don’t care how many years you’ve been writing code, if you don’t know the basics of SharePoint, you are not a SharePoint developer.

Development Does Not Always = Cracking Open Visual Studio

There’s a lot of development that takes place in SharePoint that has nothing to do with creating a dll. Out of the box web parts, SharePoint Designer, DataView Web Parts, JavaScript/jQuery, XSLT, Web Services all can be utilized without creating a solution package. I’ve seen some pretty amazing things done with a calculated column, some JavaScript and a role of duct tape.

Any developer who wants to stand above the fray will invest time and effort into learning the different options for SharePoint development and when to use each option. You don’t need to be an expert in every option, but you should at least know there’s a better way.

A developer who does SharePoint knows how to write a web part, a SharePoint developer knows when to write a web part.

Join the Support Group

You may have been the shining knight in your organization when it came to every previous technology, but then you met SharePoint and now seem to keep falling off your horse. I know that was my story anyway.

No man is an island in SharePoint. It’s too big. There’s too much going on. You will never be an expert in every aspect of SharePoint. Come to terms with that. It’s actually not so bad; in fact it’s a good thing. There is a massive, friendly, welcoming thing called the SharePoint Community and it’s like a big 12 step program. We’ve all been there. We’ve felt your pain and frustration and we help each other, daily. I’m quick to tell everyone that I’m NOT a SharePoint expert, but I know the experts and they are glad to lend a hand.

If you aren’t part of the SharePoint community, take the time and effort to get involved. Thanks to things like Twitter, SharePoint Saturdays, Blogs and other social media outlets, my value to my organization is that of an expert SharePoint developer, administrator, architect and IT Pro. You can’t place a dollar amount on the value that exists there.

So, yeah, SharePoint is a massive beast that no ordinary mortal can fully grasp in its entirety. At least we have each other to commiserate with, to fill those knowledge gaps, and when it gets too much to bear, there is always SharePint!

How to Get Started

So, hopefully I’ve not scared you off from ever touching SharePoint again. If you feel you are up for the challenge and want to learn more, below are some valuable links to help you in your quest.

Editor's Note: You may also be interested in reading: