A version of this blog post first appeared in SPTechWEB on August 12th “Hello Newman…. er, SharePoint”
When it comes to SharePoint, haters are gonna hate and there’s a lot of hate out there for SharePoint development, and why not? It’s complicated, messy, temperamental, and can frankly drive you just a little bit insane. What other technology gives you 573 ways to development the exact same piece of functionality? How often have you developed and tested your code only to find it doesn’t work in production for some asinine reason? If I were Jerry Seinfeld, SharePoint would be my Newman. This much is certain.
But you know what? SharePoint Development rocks. Don’t believe me? What other platform offers the developer:
A Solid Foundation
You mean I don’t have to worry about credentials, and authentication and writing complicated user logic? Sweet! SharePoint handles users for you, and access to your applications can be handled by the business so you can spend your time writing code and not figuring out how to connect to an authentication data source and developing stupid log-in screens.
What about databases, schemas, stored procedures, code changes when users want to add or remove fields? Yep, SharePoint does all of that for me! I’m sorry, that’s huge and extremely powerful. I no longer have to spend countless hours building up a database structure for my application or worry about inane user requests to add or tweak fields. They can do it themselves.
Thank you SharePoint!
Do It Yourself, and Leave Me Alone
Let’s face it. Users are fickle, whiney, and never know what they really want. I for one get sick of it. Thanks to SharePoint I don’t have to mess with mundane tasks like creating a new department site, or list, or view, or adding Suzy in finance to the site. The users can be trained to do it themselves. This frees me up to concentrate on the more complicated (and interesting) development tasks. As frustrating as SharePoint can be, at least you can scream at it all you want without the fear of getting fired.
Pieces, Parts, and Phases…
Maybe it’s just a phase I’m going through… No, that’s not what I mean. SharePoint development allows your to break your development up into succinct pieces of logic that makes it easy to distribute tasks to your development team without fear of them bumping into each other. Hey Joe, go write this web part. Mary, you tackle the Event Receiver. I’m going to go take a nap.
Also, because of this piecemeal development, SharePoint makes it easy to develop your application in Phases. For instance, in Phase I you might get all the structures and basic views in place so that business can start getting immediate benefit from SharePoint. Sometimes, this can be done in minutes. In Phase II you add Timer Jobs and event receivers to add more robust business functionality and communicate with backend systems. Then, in Phase III you create those visually cool dashboards and reports that can’t easily be done out of the box.
SharePoint allows you to get your job done now.
Options.. options.. options…
There are SO many development options in SharePoint. With Out of the Box, SharePoint Designer, Client Side Scripting, Sever Side Development, and Remote Development it can be overwhelming trying to decide which option to choose. However, if you take the time to become a well rounded SharePoint developer these options become your arsenal for obliterating any business problem that pops up. You can literally become unstoppable as a developer. Now, where’s my cape?
Like it or not, there’s nothing more relevant than SharePoint right now, and with a solid cloud strategy SharePoint is going to be relevant for quite a while. Developing in SharePoint ensures that your skills are up to date, you are valuable to your organization, and marketable should you decide to advance your career. Not many technologies can offer you job security like SharePoint development can.
SharePoint Makes You Think
So, yes, SharePoint is complicated. Some might even say that SharePoint is a woman, but that’s part of what makes SharePoint development great. I like to be challenged. I like to think. I like to solve problems that not everyone can, and boy does SharePoint keep me on my toes. If you want to sit in your cube and code in Java all day where the code does exactly what you expect it to then have at it. That’s not for me. I’ll stick with SharePoint development and maybe stave off Alzheimer’s a bit longer.
SharePoint Development can literally save lives.
So, yeah, maybe you think I’m crazy. Maybe you think I’ve been drinking the kool-aid a little too long, but I love my fast paced, challenging, relevant, frustrating job and look forward to doing it for many more years.