So… What is a SharePoint Developer?

A few days ago Stacy Draper and I were chatting about what it means to be a SharePoint Developer. That actually turns about to be a conversation with lots of shades of grey. Stacy thought it would make a good blog post… well, I can’t promise this to be a GOOD blog post…

So, anyway, I decided to let off a little bomb this morning by posting the following tweet on Twitter:

Mark Rackley@mrackley: Can someone be considered a SharePoint Developer if all they know how to do is work in SPD?

Now, I knew this is a debate that has been going on since the first SharePoint Designer User put SharePoint Developer on their resume. There are probably several blogs out there on the subject, but with the wildfire that is jQuery and a few other new features out there I believe it is an important subject to tackle again. I got a lot of great feedback as well on Twitter. The entire twitter conversation is at the end of this blog posting. Thanks everyone for their opinions.

Who cares? Why does it matter? Can’t we all just get along?

Yes it matters… everything must be labeled and put in it’s proper place. Pigeon holing is the only way to go!  Just kidding.. I’m not near that anal, but yes! It is important to be able to properly identify the skill set of those people on your team and correctly identify the role you are wanting to hire. Saying you are a “SharePoint Developer” is just too vague and just barely begins to answer the question.

Also, knowing who’s on your team and what they can do will ensure you give your clients the best people for the job.

A Developer writes code right? So, a Developer uses Visual Studio!

Whoa, hold on there Sparky. Even if I concede that to be a developer you have to write code then you still can’t say a SharePoint Developer has to use Visual Studio.  So, you can spell C#, how well can you write XSLT? How’s your jQuery? Sorry bud, that’s code whether you like it or not. There are many ways to write code in SharePoint that have nothing to do with cracking open Visual Studio.

So, what are the different ways to develop in SharePoint then?

How many different ways can you “develop” in SharePoint?? A lot…

Out of the box features

In SharePoint you can create a site, create a custom list on that site, do basic calculations in a calculated column, set up alerts, and add all sorts of web parts to a page. Let’s face it.. that IS development!

javaScript/jQuery

Perhaps you’ve heard by now about this thing called jQuery? It’s all over the place and the answer to a lot of people’s prayers. However be careful, with great power comes great responsibility. Remember, javaScript is executed on the client side and if you abuse it your performance could be affected.

Also, Marc Anderson (@sympmarc) wrote a pretty awesome javaScript library called SPServices.  This allows you to access SharePoint’s Web Services using jQuery. How freakin cool is that? With these tools at your disposal the number of things you CAN’T do without Visual Studio grows smaller and smaller. This is definitely development no matter what anyone else says and there is no Visual Studio involved.

SharePoint Designer

Ahhh.. The cause of and the answer to all of your SharePoint development problems. With SharePoint Designer you can use DataView Web Parts, develop (there’s that word again) your branding, and even connect to external datasources.  There’s a lot you can do in SharePoint Designer. It’s got it’s shortcomings, but it is an invaluable tool in the SharePoint developers toolbox.

InfoPath

So, can InfoPath development really be considered SharePoint development? I would say yes. You can connect to SharePoint lists, populate fields in a SharePoint list, and even write code in InfoPath. Sounds like SharePoint development to me.

Visual Studio – Web Services/WCF

So, get this. You can write code for SharePoint and not have a clue what the 12 hive is, what “site actions” means, or know how to do ANYTHING in SharePoint? Poppycock! You say? SharePoint Web Services I say… With SharePoint Web Services you can totally interact with SharePoint without knowing anything about SharePoint. I don’t recommend it of course, but it’s possible. What can you write using SharePoint Web Services? How about a little application called SharePoint Designer?

Visual Studio – Object Model

And here we are finally:  the SharePoint Object Model.  When you hear “SharePoint Developer” most people think of someone opening Visual Studio and creating a custom web part, workflow, event receiver, etc.. etc.. but I hope that by now I have made the point that this is NOT the only form of SharePoint Development!

Again… Who cares? Just crack open Visual Studio for everything! Problem solved!

Let’s ponder for a moment, shall we? The business comes to you with a requirement that involves some pretty fancy business calculations, and a complicated view that they do NOT want to look like SharePoint. “No Problem” you proclaim you mighty SharePoint Developer. You go back to your cube, chuckle at the latest Dilbert comic, and crack open Visual Studio. Then you build your custom web part… fight with all the deployment, migration, and UAT that you must go through and proclaim victory two weeks later!!!! Well done my good sir/ma’am! Oh wait… it turns out Sally who is not a “developer” did the exact same thing with a Dataview web part and some jQuery and it’s been in production for two weeks? #CockinessFail

I know there are many ASP.NET developers out there that can create a custom control and wrap it to be a SharePoint Web Part.  That does NOT mean they are SharePoint Developers though as far as I’m concerned and I personally would much rather have someone on my team that can manipulate the heck (yes, I said ‘heck’) out of SharePoint using Dataview Web Parts, jQuery, and a roll of duct tape.

Just because you know how to write code in Visual Studio does not mean you are a SharePoint Developer.

What’s the conclusion here? How do we define ‘it’ and what ‘it’ is called?

Fortunately, this is MY blog. I don’t have to give answers, I can stir the pot, laugh and leave you to ponder what it means! There is obviously no right or wrong answer here (unless you disagree with me,then you are flat out wrong). Anyway, there are many opinions.  Here’s mine.  If you put SharePoint Developer on your resume make sure to clearly specify HOW you develop in SharePoint and what tools you use.

If we must label these gurus of jQuery and SPD, how about “SharePoint Client Developer” or “SharePoint Front End Developer”? Just throwing out an idea. Whatever we call them, to say they are not developers is short-sighted, arrogant, and unfair. Of course, then we need to figure out what to call all those other SharePoint development types. 

Twitter Conversation

@next_connect: RT @mrackley: Can someone be considered a SharePoint Developer if all they know how to do is work in SPD? | I say no....

@mikegil:  @mrackley re: yr Developer question: SPD expert <> SP Developer. Can be "sous-developer," though. #SharePoint #SPD

@WonderLaura:  Rt @mrackley Can someone be considered a SharePoint Dev if all they know how to do is work in SPD? -- My opinion is that devs write code.

@exnav29:  Rt @mrackley Can someone be considered a SharePoint Dev if all they know how to do is work in SPD? => I think devs would use VS as well

@ssKevin:  @WonderLaura @mrackley does that mean strictly vb and c# when it comes to #SharePoint ?

@jimmywim:  @exnav29 @mrackley nah, I'd say they were a power user. Devs know their way around the 12 hive ;)

@sympmarc:  RT @mrackley: Can someone be considered a SharePoint Developer if all they know how to do is work in SPD? -> Fighting words.

@sympmarc:  @next_connect @mrackley Besides, we prefer to be called "hacks". ;+)

@next_connect:  @sympmarc The important thing is that you don't have to develop code to solve problems and create solutions. @mrackley

Mark Rackley@mrackley:  @sympmarc @next_connect not tryin to pick fight.. just try and find consensus on definition

@usher:  @mrackley I'd still argue that you have a DevLite title that's out there for the collaboration engineers (@sympmarc @next_connect)

@next_connect: @usher I agree. I've called it Light Dev/ Configuration before. @sympmarc @mrackley

@usher:  @next_connect I like DevLite, low calorie but still same great taste :) @mrackley @sympmarc

Mark Rackley@mrackley:  @next_connect @usher @sympmarc I don't think there's any "lite" to someone who can bend jQuery and XSLT to their will.

@usher:  @mrackley okay, so would you refer to someone that writes user controls and assemblies something different (@next_connect @sympmarc)

@usher:  @mrackley when looking for a developer that can write .net code, it's a bit different than an XSLT/jQuery designer. @sympmarc @next_connect

@jimmywim:  @mrackley @sympmarc @next_connect I reckon a "dev" does managed code and works in the 12 hive

@sympmarc:  @jimmywim @mrackley @next_connect We had a similar debate a few days ago @toddbleeker et al

@sympmarc:  @sympmarc @jimmywim @mrackley @next_connect @toddbleeker @stevenmfowler More abt my Middle Tier term, but still connected. Meet bus need.

@toddbleeker:  @sympmarc @jimmywim @mrackley @next_connect I used "No Assembly Required" in the past. I also suggested "Supplimenting the SharePoint DOM"

@toddbleeker:  @sympmarc @jimmywim @mrackley @next_connect Others suggested Information Worker Solutions/Enhancements

@toddbleeker:  @sympmarc @jimmywim @mrackley @next_connect @stevenmfowler I also like "SharePoint Scripting Solutions". All the technologies are script.

@jimmywim:  @toddbleeker @sympmarc @mrackley @next_connect I like the IW solutions one...

@toddbleeker:  @sympmarc @jimmywim @mrackley @next_connect @stevenmfowler This is like the debate that never ends: it is definitely not called Middle Tier.

@jimmywim:  @toddbleeker @sympmarc @mrackley @next_connect @stevenmfowler "Scripting" these days makes me think PowerShell...

@sympmarc:  @toddbleeker @jimmywim @mrackley @next_connect @stevenmfowler If it forces a debate on h2 best solve bus probs, I'll keep sayin Middle Tier.

@usher:  @sympmarc so we know what we're looking for, we just can't define a name? @toddbleeker @jimmywim @mrackley @next_connect @stevemfowler

@sympmarc:  @usher @sympmarc @toddbleeker @jimmywim @mrackley @next_connect @stevemfowler The naming seems to matter more than the substance. :-(

@jimmywim:  @sympmarc @usher @toddbleeker @mrackley @next_connect @stevemfowler work brkdn defines tasks, defines tools needed, can then b grp'd by user

@WonderLaura:  @mrackley @toddbleeker @jimmywim @sympmarc @usher @next_connect Funny you're asking. @johnrossjr and I spent hours this week on the subject.

Steven Fowler@stevenmfowler:  RT @toddbleeker: @sympmarc @jimmywim @mrackley @next_connect @stevenmfowler it is definitely not called Middle Tier. < I'm with Todd

posted @ Saturday, May 22, 2010 10:23 PM
Print

Comments on this entry:

# re: So… What is a SharePoint Developer?

Left by Dan Usher at 5/22/2010 10:34 PM
Gravatar
So what it boils down to in my book is whether or not they write managed code. If they're a .net SharePoint developer then they write managed code. If they write jQuery, XSLT, or some other scripting language that is not managed and compiled and placed on the actual fabric of the server whether it be in the 60/12 hive or the 14 root, then they're a SharePoint Developer of a different breed. Clearly delineating the .net Developer and their managed code that they write is something that is clearly different than my Developer that knows how to add spice through SPD (did you hear it's free???).

# re: So… What is a SharePoint Developer?

Left by James Love at 5/23/2010 3:22 PM
Gravatar
Hi Chris,

This was a good, interesting debate.

I do understand mark's concerns about focussing too much on the terminology rather than the skills & requirements, but I do also think that it is to be able to quickly select appropriate team members by being able to quickly locate their skills.

I think the SPD / non-hive/root developer could actually be simply called "SharePoint Web Developer".

concise, does what it says on the tin (These days Web Devs know XHTML/XML/XSLT/jQuery/JScript inside out, can call web services and are passionate about content), and covers some of what you can do in SPD. Not all, but captures the general jist.

# re: So… What is a SharePoint Developer?

Left by Marc D Anderson at 5/23/2010 7:31 PM
Gravatar
Mark:

Thanks for this post. Some form of this Twitter conversation seems to be occurring every few days lately.

I'm not sure why it is that some people feel such a strong need to label everything, but I get that we have to call these things something if we want to advertise to hire people or get the HR folks on board to pay them market rates.

Truth be told, there's a hell of a lot of development going on out there, and lots of it isn't in Visual Studio. I've written a white paper (The Middle Tier Manifesto: An Alternative Approach to Development with Microsoft SharePoint, and yes, I'm a self-serving cuss) in which I try to paint what this Middle Tier (or middle ground or "not Visual Studio and not the UI" or...) actually is and why it is important.

I'm being a broken record about some of these concepts because it is my premise that people are spending more time, money, and effort on SharePoint development than they need to. There is a wide range of ways that we can do things in SharePoint, and we should all understand what that range is and when to think about using the various options.

So what is a SharePoint Developer? Someone who develops something in SharePoint that solves a business need. Do the end users care how we do it? Almost indubitably no, but we do need to have a good Governance Model in place to guide our decisions and we should do things in such a way as to be robust, flexible, and maintainable. The answer is not the same for all organizations, because every organization possesses different skill sets, strategy, regulatory requirements, etc.

And does someone using Visual Studio to develop for SharePoint ensure a high quality solution? Of course not. Quality comes from good developers, regardless of the tool.

M.

# re: So… What is a SharePoint Developer?

Left by Erica Toelle at 5/25/2010 12:34 PM
Gravatar
I am a SPD user and don't use visual studio. I usually call myself a solutions architect, end user solution architect, configuration architect, or something similar depending on the frame of reference of the person I am speaking to. I hate the title information worker - that is Microsoft taxonomy that no one outside of MS identifies with. The important thing to remember is that we are usually the people working with non-technical end users - so the title must be something that audience understands.

# re: So… What is a SharePoint Developer?

Left by Steven Fowler at 5/26/2010 9:08 AM
Gravatar
Once we're done with this conversation we need to clear up the use Architect (Solution, Infrastructure, Application, Information, rtc.) within the context of SharePoint - LOL
The fact that SharePoint is both a product and a platform, I think the discussion is muddied with the discussion of two disciplines
- What skills does it takes to be a good solutions provider of SharePoint?
- What skills does it take to be considered a Developer?
I would have you all consider the following questions:
- Are there individuals that >>customize<< SharePoint exclusively with the web UI and SPD to solve business problems with no formal programing skills?
- Does a .Net >>Developer<< have more technical skills than someone that deploys business solutions with the web UI and SPD?
- Are individuals that >>extend<< SharePoint using web parts, application pages, web services, etc. more technical than a .Net developer?
- Should these same individuals have the skills to deploy business solutions with the web UI and SPD?
Thou a seasoned SharePoint Designer could provide better business solutions (CQWP, DVWP, etc.) than a green .Net Developer that gravitates toward makes web parts for everything – the SharePoint Designer is not a Developer. I would also state the inverse; there are SharePoint Designer folks that do not know when to reach out and push a SharePoint solution to a custom web part, application page, etc. where it rightfully belongs in some environments. Good SharePoint Developers recognized how to design solutions within web UI > SPD > VS

# re: So… What is a SharePoint Developer?

Left by Geoff Varosky at 6/1/2010 9:34 PM
Gravatar
Whoa, wait there @Ursher - SPD IS FREE?! Praise [insert deity of choice here]!

# I Need a Mentor

Left by MajestiX at 6/17/2010 6:28 AM
Gravatar
Hi, Im a Junior Developer (SharePoint) I wanna be the Best in SharePoint Development within a year, I need a good Mentor my email is Mavimbela47@gmail.com. .

# re: So… What is a SharePoint Developer?

Left by Tom Resing at 7/22/2010 9:40 AM
Gravatar
You could easily flip this on it's ear. Can you consider someone a SharePoint Developer who doesn't know how to use SharePoint Designer? I see a lot more cases of projects going wrong because of lack of SharePoint knowledge than because of lack of coding passion. It's about the product as a tool and a platform. Code customizations currently are still to often done when the tool could be used to solve the problem without it.

# re: So… What is a SharePoint Developer?

Left by Russell Darroch at 8/5/2010 12:06 AM
Gravatar
I would strongly agree with Tom' comment.
A great many problems are caused by developers who don't know the SP platform or the tool set and there are endless stories out there in industry of "SharePoint customization" disasters which reflect this.
No matter where along the scale (and I don't have particularl investment in the labels) you need to have (to do SharePoint *properly*):
a thorough understanding of the total (!) platform which includes (no particular order but not random):
Office 07 and 10
SQL+SSRS+SSAS+SSIS+BI
InfoPath
InfoPath Services
Excel
Excel Services
Access
Access Services (etc)
Project Server
SP intereactions with Exchange/Communication Server (variants)
Other data sources/connections
...and the list goes on and on.

A very great deal can be done with OOTB, OOTB plus (ISV web parts, commercial, supported, LOW costs, HIGH value), SPD and appropriate use of Office and SQL.

Fundamentally this entire debate would be more productive if there was a bit more appreciation of how big and how powerful SP2010 PLATFORM is, how it got that way (by DESIGN with many many dollars of MSFT research, development, consumer feedback [how many of you remember how SP came about?...important part of the history...it isn't what it is by accident] and how much of the design was intentionally to put power back in the hands of super users, business users, and the business.

The most critical thing as others have mentioned is to know what bits do what, which tools to use when (they were all designed with specific purposes in mind) and to be sufficiently humble to know what you do (or don't) know and that limitations that implies for you and your clients as well as risks for the business (e.g., upgrade risks, custom dev risks, maintenance risks).

There are very good reasons why OOTB is the primary successful approach to SharePoint - it reflects the product intent and design as well as its native integration with virtually every other MSFT technology that exists, including mobile (e.g., native mobile views to a list...how hard is that!).

Cheers...hope this helps the debate/discussion!

# re: So… What is a SharePoint Developer?

Left by Kerri at 10/1/2010 11:43 AM
Gravatar
Great post!

# re: So… What is a SharePoint Developer?

Left by SharePoint Consultants at 10/18/2010 4:47 PM
Gravatar
Very well written blog entry, and very true!

# re: So… What is a SharePoint Developer?

Left by Jesse Newsome at 11/26/2010 12:00 AM
Gravatar
Now that we know what a Sharepoint developer is and isn't... How do I find one? I seem to not be able to find a sharepoint guy for a simple template modification. If there is a place to find qualified sp developers please let me know. jesse (dot) newsome (at) gmail

# re: So… What is a SharePoint Developer?

Left by Ben Hawkins at 1/11/2011 12:57 PM
Gravatar
In my opinion, SharePoint Designer skills (CSS, XSLT, jQuery, master pages) make you a SharePoint designer.
A SharePoint developer needs to be a decent SharePoint designer, have strong SharePoint object model skills, know how to property package and deploy SharePoint solutions (whether created in Designer or Visual Studio) into an enterprise farm and be proficient with Workflow Foundation.
Both titles should understand the SharePoint platform; otherwise they are just web designers or .Net developers.
There should also be a salary differentiation between designers and developers, as developers are more skilled and therefore, command more money for those skills.
Just my 2 cents.

# re: So… What is a SharePoint Developer?

Left by Mike at 2/21/2011 9:25 AM
Gravatar
I consider myself a SharePoint Developer though I'm also primarily a Java, PHP, .NET and C Developer. You can add .NET code, Javascript and XSLT changes from within SPD and its a good little development tool, I prefer Visual Studio but its my personal preference.

I think to be classed as SP Dev you should have considerable knowledge and expertise in .NET, javascript, XSLT and also the out of the box visual aspects of SP and understand the nature of the software, with just a hardcore coding background you will tend to go over the top on solutions that are already built into SP.

A Sharepoint developer needs to be both a coding developer but also a practical developer using the tools that Microsoft gave us.
---------------------------------------

DEVELOPER:

A person or entity engaged in the creation or improvement of certain classes of products

# re: So… What is a SharePoint Developer?

Left by Richell at 3/31/2011 9:26 AM
Gravatar
So, where are the SharePoint Developers? We are looking for some developers with our Enterprise so we can kick it off. But preferably someone who is local. I am a NEWBIE to SharePoint and am enjoying using it and learning it so far, wish I was a Developer as I see the potential need for practically, anything related to SharePoint. :)

# re: So… What is a SharePoint Developer?

Left by tony at 12/13/2011 5:05 PM
Gravatar
I'm not a web dev, but am a C++ dev (not just MS platforms). Tbh I'd not heard of SharePoint till the other day when my wife said she had to test some sites for a company that uses SharePoint. I did a quick (5 minutes) search and ended up here. Please tell me why SharePoint is good and why any web dev company would choose to build their sites using SharePoint? It all seems a bit limiting to me.

Cheers,
tony

Your comment:



(not displayed)

 
 
 
 
 

Live Comment Preview:

 
«April»
SunMonTueWedThuFriSat
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910