I’ve been watching an interesting discussion about the Shortage of SharePoint Skills based on a blog post by Nadir Kamdar and followed up by Doug Ware. The conversation has been brewing for a few months and I wanted to provide five of my thoughts on how easy or hard it is to find SharePoint skills.
First, SharePoint is a big product. It’s a product that no one person can really expect to know completely. I run in some circles with really smart folks and folks who’ve been on SharePoint for a long time. We’ll all admit that we learn something new about SharePoint all the time. For some of us it’s daily, some of us it’s weekly – but we’re always learning something new about SharePoint. Here’s an analogy that I think helps the business to understand how they have to think about SharePoint as a platform.
The other platform most organizations have is Microsoft Windows. Sure it’s an operating system but it’s also a platform. The organization doesn’t expect one person to know everything about Windows. Sure mid-sized and smaller organizations ask one person to know everything but everyone knows at some level that this isn’t realistic. There are specialists around Active Directory including Kerberos and Federation. There are specialists around storage including quotas, DFS, file replication, quotas, file classification infrastructure, etc. There are specialists around networking including DNS, DHCP, etc.
Expecting any one person to know every aspect of Windows deeply isn’t really realistic. There are a handful of people I know – including the Microsoft Certified Masters for SharePoint that come close to this but in general expecting to find that one expert isn’t something every organization can expect. Instead of hiring one expert, hire a few.
Second, Build Don’t Buy. Rob LaMear of FPWeb.net commented (in a Linked in group) that FPWeb.net “bake” their own engineers and developers. I’ve pretty universally recommended this strategy to customers for the last several years. I generally offer a few hours a week to review their new SharePoint folks progress whether that’s a new developer or IT Pro. It works out well because they get an employee that’s well trained – over time – based on the same apprenticeship model that’s worked for hundreds of years. I’m not saying that you shouldn’t look to hire SharePoint folks if you can find them – I’m saying, I don’t expect that you’ll be able to find them. You have to be prepared to build your SharePoint professionals when you can’t buy them.
Third, you don’t need a developer for every SharePoint project. When all you have is a hammer everything looks like a nail. That is, a developer always wants to develop. Ignore the business need. Ignore the platform’s capabilities. They want to develop. This isn’t always in the business’ best interests. I advocate the Value of Imperfect SharePoint Solutions. I believe that you can get a ton of value with out of the box functionality. SharePoint is a platform. Find the right resource to leverage the platform – that’s often a business analyst.
Fourth, SharePoint is more restrictive than ASP.NET. I sometimes use the Statue of Liberty as an illustration about developing for SharePoint. I use this illustration because SharePoint is all about leveraging what you’ve got. If you look at the Statue of Liberty there are really three distinct layers. There’s a relatively large star shaped platform that the pedestal sits on. In the analogy this large star platform is .NET – or more specifically ASP.NET. There’s a ton you can do – but the relative height or what you can do out of the box is relatively small. In other words, .NET is broad but not deep. The pedestal is SharePoint. It’s relatively speaking tall. In fact in the Statue of Liberty’s case the pedestal is roughly 40 percent of the total height – think about that 40% the total height. On top of this sits Eiffel’s infrastructure and Frédéric Bartholdi’s sculpture – what everyone thinks of as the Statue of Liberty. In the analogy the sculpture is the work that you build on the SharePoint platform. It’s got all of the quirks, intricacies, and wrinkles of the business problems that it solves. When you compare this with something like the Eiffel tower which stands more than 4 times the height of the Statue of Liberty you could say that you want the flexibility to build an Eiffel tower.
However, you’ll note that the architect (or structural engineer if you prefer) for both projects was Gustave Eiffel. Both are appropriate at different times. It’s true that SharePoint is more restrictive than ASP.NET. However, it’s also true that for workloads that SharePoint is good at, I can build a solution faster, cheaper, and I dare say better – than I could build in ASP.NET – because I have a great advantage in the platform that I’m building on top of. I don’t have to figure out document storage, versioning, workflows, navigation, security, etc. I get to use all of that stuff for free. All I have to do is build on the platform.
Fifth, Training is possible! I have spent a lot of effort over the last few years to augment the training opportunities that specialized training companies like Critical Path Training and Mindsharp offer with more standardized offerings that anyone can get. I’ve released the SharePoint Shepherd’s Guide for End Users including corporate licensing options and coming soon I’ll have classes that any Microsoft training center can teach. I was indirectly involved in Microsoft Learning’s 10175 course for SharePoint Development (corresponding to the 70-573 exam) and was the lead author for Microsoft Learning’s 10232 course for Professional SharePoint Development (corresponding to the 70-576 exam). Yea, the MS learning courses are for-pay resources but they’re scalable – you can get them from your local training provider. Historically the SharePoint courses from Microsoft hadn’t been very well regarded – on the developer side I can say that they’re much better. For that matter I can say that the exams are more focused on important skills rather than minutia as the 2007 exams were sometimes accused of. I also spent a great deal of time working with Microsoft Patterns and Practices on the SharePoint Guidance – free guidance on the best way to build SharePoint applications. In 2008, I helped launch www.mssharepointdeveloper.com which has been updated for developing on SharePoint 2010 – all free content on how to develop with Visual Studio 2010 and SharePoint 2010. I know the folks that worked on the exams and courses on the IT Pro side as well – it is solid content like wasn’t available for SharePoint 2007. I’m also working on some other courses that will make their way out to the public in 2011 that will cover more specialized workloads for SharePoint.
I should say that I take issue with some of Nadir’s initial post because there are some technical inaccuracies and some things which are misleading. There’s a focus on some of the details about navigation. The platform is actually quite extensible in this respect. It supports multiple navigation providers and any menu control that works with navigation providers. I’m not saying everything is possible out of the box but the areas he picked on are quite easy to extend. That’s what’s great about the SharePoint platform – it is extensible.