Become a SharePoint Professional – What Is a SharePoint Developer?

So you want to become a SharePoint professional and have come to one of the most tricky questions to answer: What is a SharePoint developer?

Actually, the question is rather easy to answer, once you have some common and basic understanding of what SharePoint development entails.

What Is a SharePoint Developer?

If you look at the term, and throw away any personal feelings for what you think words should mean, then it becomes quite clear what a SharePoint developer is. Let me illustrate.

If you want to get your hair dressed, you go to a hair dresser, and from that we can assume that a hair dresser dresses hair. If you want something baked, you go to a baker (or your local medical marijuana outlet, but that’s for another blog), so a baker is someone who bakes. If you want to get something moved, you hire a mover, and a mover is thus someone who moves.

Now, if you want to get something developed on SharePoint, what could we possibly call the person that does that task? You should get this right on the first try; we call them a SharePoint developer.

Another commonality between the hair dresser, the baker, and the driver, is that you are rarely interested in the tools they user to perform their task. You don’t say to a baker that you only want to buy his bread if it’s made with a specific stand mixer. You usually aren’t interested in the brand of scissors your hair dresser users, and the lifting support the movers use, well, as long as they get that piano up the stairs, you don’t really care, do you?

And even if you are interested and specific about the tools used for whatever valid or invalid reason, you’ll still call them bakers, hair dressers, and movers, even if they user different tools. The reason for this is that their job titles describe the tasks they perform, not the tools they use. You don’t have KitchenAid bakers or a Shiro hair dressers (yes, I had to Google that). You may have a heavy items mover, but you would still call other people who move things movers, even if they don’t have specializations in moving heavy items.

So, a SharePoint developer develops in SharePoint, as simple as that. If, or rather when, you start picking up the conversations that have been ongoing for years in the community about whether people using specific tools are allowed to call themselves developers, well, ignore them and think about what makes sense.

The first duty of any SharePoint developer is to solve business problems. As long as you do that, and you do so in a professional manner, the tools you use or the title you put on your business card is largely irrelevant. If you think that the term developer is too ambiguous, and honestly, even the SharePoint community cannot really agree on what it means, then feel free to call yourself whatever you want.

By solving business problems, I mean that your first focus isn’t necessarily to work with a business owner or client, but that the ultimate goal of your solutions is to cater to the needs of the business. Many developers may never see much less talk to an end user or business owner, but SharePoint is a business platform first and foremost.

However, SharePoint development is a complex profession. In fact, it’s not even a profession, it is a class of professions that to some extent are defined by the tools they use.

SharePoint Developer Tiers

In broad terms, you can categorize SharePoint development methods into three tiers.

Note: This tier division is the brain child of luminary Marc D. Anderson, detailed in his Middle-Tier Manifesto.

The first tier deals with development using the web interface and client software only. First tier developers utilize the web interface to build taxonomies for business objects, create user experiences using web parts and maybe a few simple pre-made scripts, installs and configures Apps and Sandbox solutions, builds information panels for Office, and so on. First tier developers benefit from the most rapid development methods at the expense of freedom and power.

The middle tier of SharePoint development starts utilizing specialized tools and uses scripting and markup to develop solutions. Typical tools are SharePoint Designer, InfoPath, and maybe Visual Studio for script development. Middle tier development produces more flexible and customizable solutions than is the case for the first tier, and middle tier developers have more freedom and power at the expense of having to do a lot more work and be somewhat limited in terms of solution portability.

The third tier developer focus solely or mainly on developing WSP solution files and managed code solutions using tools such as Visual Studio and extensions such as WSPBuilder, VS Tools for SharePoint, and STSDev. Third tier development offers the greatest degree of freedom and options and also gives developers the most power of all the tiers. However, this comes at a price, of having to build all the ‘bits’ they need and also of needing the discipline to harness all that power.

What is important to know is that these tiers are not mutually exclusive. Although most seasoned SharePoint developers spend most of their time in one of the tiers, they also utilize the other tiers when required. A middle-tier developer may build a prototype for a solution taxonomy before building a web part in SharePoint Designer to display or manage that taxonomy. A first tier developer may utilize SharePoint Designer to modify or create scripts or style sheets to build their sites, and a third tier developer will more often than not start a project by prototyping the solution in the first tier.

What is absolutely critical to know, however, is that none of these tiers are better or worse, nor that developers that specialize in any of the tiers are better than the developers of other tiers. What matters to your skill level is what development skills you have, not the tools you use. Any SharePoint developer regardless of favorite tier will need skills and understanding of development topics such as source control, debugging, data modeling, event handling, security, and so on. Tools are there to make these tasks easier, not to save you from having to know these topics.

Also not that the developer tiers is a broad categorization. Once you get familiar with each tier, you will likely want to focus even more. For example, first tier developers may specialize in taxonomy or client applications, middle tier developers may specialize in InfoPath or DataView web parts, and third tier developers may specialize in workflow or web part development.

How To Become a SharePoint Developer

Regardless of what type of SharePoint developer you want to become, you need a good understanding of what SharePoint is and what problems it solves. If you are using SharePoint in your job, for example, you may want to start exploring the possibilities that exist. Ask whoever is responsible for SharePoint (or ask a mirror if it is you) to give you a site collection in which you can experiment.

Start going through the list and library types available to get an idea of the tasks SharePoint can handle. Explore the existing web parts, look up the site and site collection features, explore the permissions model, and so on. In short, play with it to see what it can do beyond what you already do.

Note: There are plenty of resources available to learn SharePoint, but rather than recommend any specific resource, I encourage you to start practicing your Google skills and find the resources that make sense for you.

When you decide to start your SharePoint development career, focus on learning the tools and methods in which you have prior experience. You should already be well versed in using SharePoint and understanding its capabilities, and if you have no other development experience, this is a great starting point for first tier development.

If you have prior HTML and JavaScript experience, then looking at the options in the middle tier may be appropriate for you. If you know XML and its related technologies, that’s even better. Get yourself a copy of SharePoint Designer (it’s free) and start looking at your site or site collection through the eyes of that tool. Also, start looking at the client-side object models.

If you have prior programming experience, defined as building compiled code in some form, then the third tier will likely give you the most familiar starting point. You’ll need to get Visual Studio, and you need to start learning the SharePoint object models (server and client-side, so no cheating). Further, if you don’t already dream in XML, you haven’t used it enough.

Note: Beyond XML, your language and tool choice in the third tier is largely up to you. In fact, you can build third tier solutions using Notepad if that’s your fancy.

Since I’m the one writing this, let me modestly take this chance to blatantly promote my own book on learning third tier development, Beginning SharePoint Development, as a great resource to get you up and running. You can pick it up from http://uspjournal.com/issues/beginning-sharepoint-development/. In fact, all of my USP Journal issues will help you become a better SharePoint developer.

SharePoint Developer Myths Debunked

As your development career moves along, you’re bound to come upon many myths that may or may not sound plausible. Let me wrap up this article by debunking some of them.

First, SharePoint development is not harder or easier than developing on any other platform. You’ll find plenty of statements from developers saying that development on SharePoint is too hard. The fact is that the hard part isn’t any harder in SharePoint than it is on other platforms. Like any other platform, SharePoint has its bad and good sides. Any task you know is easy and any task you don’t know seems hard, at least when you get beyond the “how hard can it be” stage.

Second, a SharePoint developer does not have to do compiled code programming. One of the most common myths is that to be allowed to call yourself a developer, you need to be a programmer of compiled code. See the initial sections of this article for an explanation of why this is bollocks. If you develop, you’re a developer. If you bake, you’re a baker. If you move, you’re a mover. If you dress hair, drive, build, paint… Well, you get the picture.

Third, third tier SharePoint development is not your last resort. You’ll also quickly find a plethora of claims that building third tier solutions should be your absolute last resort, after trying everything else, including prayer. The arguments are often that third tier solutions are difficult to maintain and upgrade.  The fact is that well-built SharePoint solutions not only upgrade excellently, but can actually work across SharePoint versions, making upgrades easier than for other development tiers. Note the emphasis on well-built.

Finally, no SharePoint developer is an expert in all SharePoint development tasks. SharePoint is a complex mistress, and its developers need to focus to satisfy her needs. The less you focus, the less you become good. Each development tier takes years to master. If someone say they are experts in more than one or two tiers, they are probably just experts in pulling your leg, or they’re just plain ignorant.

Note: The same applies to recruiters. A clear sign of a recruiter who has no idea about how to find SharePoint developers is one that looks for experts in multiple tiers or even specializations.

Final Thoughts and a Warning

A SharePoint developer is a resource to any organization, and a career in SharePoint development can yield both material benefits and great personal rewards. At the time of this writing there is a great shortage of skilled SharePoint developers and since a SharePoint developer’s first duty is to solve business problems, as long as businesses have problems, you’ll have a job.

In fact, take this as a warning. Right now, you can get a job as a SharePoint developer if you manage to spell SharePoint correctly.

However, having a job is a far stretch from being an expert. Don’t expect to quickly become a SharePoint developer expert simply because you can rapidly churn out solutions that impress your boss. Any skill in which you want to become an expert requires you to focus and dedicate considerable time to both learn and practice.

Before you develop these considerable skills, remember that what you are doing is ultimately what the business will use to remain profitable. Your failures or lack of skill may cost the company much in terms of lost efficiency or revenue, or cost employees their jobs. Start with what you know, practice before you go into production, and make sure you learn the basic skills of software development.

This isn’t unique for SharePoint, though, so take it as general advice. Expect to spend thousands of hours increasing your skill if you want to become an expert SharePoint developer.

.b

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.
Donate Bitcoins

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!

Pin It

Post Author

This post was written by who has written 415 posts on Furuknap's SharePoint Corner.

I do SharePoint. When I'm not doing SharePoint, I sleep, and then I dream about SharePoint. Oh, and I dabble a bit in cryptocurrencies (Bitcoin, Litecoin, etc)

15 Responses to “Become a SharePoint Professional – What Is a SharePoint Developer?”

  1. Salvatore Di Fazio
    Twitter: Salvodif
    January 2, 2013 at 3:26 pm #

    Great post.
    Usually I wast my time to explain to the newbie that I SharePoint developer it is not just an asp.net developer !!!!

  2. Marc D Anderson
    Twitter: sympmarc
    January 2, 2013 at 4:14 pm #

    b:

    It used to be that a job posting for a “SharePoint Developer” *always* meant a .NET developer. As people become more enlightened about the different options available to them to solve their business problems, it’s heartening to see that the definition has widened. However, I still frequently have conversations with would-be SharePoint Developmer employers who think that a .NET developer is the only definition.

    Hopefully many of those potential employers will read this post to learn what other possibilities are open to them. As people start moving into SharePoint 2013, even Microsoft is acknowledging the power that Web developers (sometimes equated with my idea of SharePoint Middle Tier developers) can bring to the table.

    M.

  3. David Newman January 2, 2013 at 4:38 pm #

    Great blog. Somebody finally said it out loud. A true developer builds what the client needs with the tools that are needed. Just because I can drive a fork lift doesn’t mean I need it to move the couch.

  4. Simon Rawson January 8, 2013 at 11:41 pm #

    b: great article. Especially the bits about solving business problems, needing to spend 1000′s of hours on technical proficiency, that 1st and 2nd tier development can effectively solve business problems, and that SharePoint is a big beast.

    I’d add to your comments and say there’s another important and specialised role. That of the SharePoint Business Analyst. Their role is to analyse business problems, issues and processes and produce solution business requirements.

    The reason it’s specialised is that business and process analysts requires deep understanding of business processes, process maturity, business culture, and organisational change management. In a SharePoint context, they need to understand what SharePoint can be made to do – but not necessarily how to do it.

    I’ve come across some excellent and remarkable developers who can fulfil such a role, but none who have the time to do it effectively. And to be honest most can’t.

    Aside from this project-style work, there’s another key function the Analyst should fulfil. That is ensuring the spread of knowledge through the business side of the organisation about what SharePoint can be made to do, and how to identify business problems SharePoint can help resolve.

    All of which should be part of a governance model. Anyone keen to open THAT can of worms?

    • Bjørn Furuknap
      Twitter: furuknap
      January 9, 2013 at 7:02 am #

      Simon,

      I do not see the business analyst as a developer. In the USPJA days, we categorized BAs as ‘soft skill’ professionals, meaning they were not working on the product primarily but rather with skills that, although equally important, were applied outside SharePoint the software. We called these soft skill professionals business users or business professionals.

      Other examples of business professionals are financial support roles, project managers, process analysts, evangelists, and so on. These roles have their primary workplace outside SharePoint (in Excel, PowerPoint, financial analysis software, Visio, etc) even though they are still SharePoint professionals primarily.

      .b

  5. Alex Dean
    Twitter: alxdean
    January 14, 2013 at 7:28 am #

    Great post! Having come from an ASP.NET development background I must emphasise though, if you want to be a great level 3 developer you better be a great ASP.NET programmer to start. The amount of cowboys packing out visual studio and hacking together web parts with no understanding of multi tiered development, multi threaded development or basic caching best practices is shocking!
    I have seen half baked Silverlight web parts take down multi terabyte farms in the past.

    As the definition of a developer is so vague for so many people I have reverted to the definition of SharePoint Consultant. That way the name does not imply any traditional development practices but can include plain SharePoint Design concepts which are covered by level 1 and Level 2.

    My favourite title is SharePoint Solution Designer. It implies the design of Solutions based on SharePoint without implying any coding/development effort. (note the recent move by Microsoft to rename the MCM to MCSM to reflect this solution focused trend)

    Finally a little anecdote:
    Came across a job spec before Christmas that made me want to cry. They wanted a SharePoint Admin with extensive experience in Server Maintenance, AD, Disaster Recovery, High Availability, 3rd party admin tools, 3rd party DR tools, IIS, Kerberos, SQL Reporting Services, Analysis Services, SharePoint Web Part Development, SharePoint Designer, HTML, XSL, Workflows (SPD, WF and Nintex), Business Requirement Analysis, Project Management, and Customer Focus amongst many other requirements. I just shook my head :-)

  6. Aquila Case January 29, 2013 at 12:23 pm #

    Doesn’t matter what you call for SharePoint Developer definition but Why SharePoint Have their own Special term?.software developer that writes custom software using the various SharePoint API’s.

    • Bjørn Furuknap
      Twitter: furuknap
      January 29, 2013 at 8:01 pm #

      I would guess a special term is needed because that description isn’t exhaustive in terms of describing SharePoint developers. Plenty of SharePoint developers never touch the APIs and never write custom software.

  7. Sean O’Leary January 29, 2013 at 9:13 pm #

    This is a great point that a SharePoint developer isn’t an expert in every component of SharePoint. SharePoint has many features and a developer may be able to assist with one feature but not another. Within SharePoint developers have specific specialties.

  8. Scott July 3, 2013 at 9:52 pm #

    This is an excellent article of a SharePoint Developer. I agree with Marc in his post above that many people would think that a SharePoint developer is ONLY a .NET developer. I had experience developing in .NET prior to working with SharePoint and really did not know where to start with Developing (.NET) in SharePoint. My point is that to learn to develop in SharePoint you really need to learn how SharePoint works. I have found that with Scripting and the use of libraries such as SPServies and jQuery I can create many custom solutions that will satisfy the needs of a client or fellow employee. Thanks for the great article!

  9. Linda March 7, 2014 at 5:39 pm #

    This might be true, but it seems that every job opening that says SharePoint Developer, is looking for the tier 3 version of that. I’m only tier 2,and I’m not comfortable doing much in tier 3, so I call myself an architect, not a developer, only because most people associate developer with coding. I don’t want to give people the wrong idea about my capabilities. I can make magic with Infopath and SharePoint Designer (especially workflows), and I can do some Javascript and JQuery, but don’t ask me to write a line of C# code-that’s a whole other ballgame.

    • Bjørn Furuknap
      Twitter: furuknap
      March 7, 2014 at 5:49 pm #

      Linda,

      Being ‘only’ Tier 2, or Middle Tier as we call it, is great. SharePoint 2013 Apps reside in that space to some extent.

      And don’t use ‘only’ as if it is somehow inferior to other tiers. Each tier is a unique set of tools and techniques, and you can be ten times as good a Middle Tier developer as any third tier developer.

      I think the issue rather is that most people looking to hire a SharePoint developer has no idea what they want. They want everything and cheap because, well, we all want everything and cheap. Once we realize that it’s a bad idea, we usually learn and ask for more reasonable things, but somehow, that doesn’t seem to apply to SharePoint recruiters.

      .b

Trackbacks/Pingbacks

  1. What Is a SharePoint Developer? | Mastering Sharepoint - January 2, 2013

    [...] Read the rest here: What Is a SharePoint Developer? [...]

  2. Will 2013 be the End for SharePoint?; Office 2013 vs. Office 365; SharePoint 2013 Business Model - SharePoint Daily - Bamboo Nation - February 11, 2013

    [...] the BlogosphereBecome a SharePoint Professional – What Is a SharePoint Developer? (Furuknap's SharePoint Corner)So you want to become a SharePoint professional and have come to [...]

  3. Hvem/hva er en SharePoint utvikler? | SharePoint Chick - July 4, 2013

    [...] men det er en vanskelig jungel å navigere i. Dermed ble jeg veldig glad da jeg kom over denne bloggposten skrevet av Bjørn [...]

Leave a Reply