How good/bad is sharepoint programming? [closed]

I got a job offer today for a position as a SharePoint developer. One of my friends is telling me that sharepoint is a big mess and not something I would want to be doing.

What are some of your experiences/thoughts in working with SharePoint?


Solution 1:

I'm going to buck the trend here a bit. I see SharePoint as a development platform - plain and simple. It utilizes other technologies such as IIS, ASP.NET, SQL Server, and Windows Workflow so I don't have to reinvent the wheel. It lets me focus on solving business problems instead of worrying about plumbing and system-level code.

Don't get me wrong, SharePoint does come with baggage, but if you like to solve real-world business problems and not just sling code, it has a lot to offer. I am continuously amazed at how rich the platform is with WSSv3 - which is free.

If you like to align yourself with Microsoft technology, then you need to realize that SharePoint is here to stay and will continue to get better and be more commonplace. The current version (v3 - WSSv3 / MOSS 2007) is lacking in AJAX, social networking, and other functionality/technology. The v4 version is just around the corner and is bound to improve in these areas.

In regards to some of the negatives I have read in this thread:

  • I have written web parts that live in SharePoint that utilize the AJAX toolkit and so have co-workers of mine. One co-worker is very active with Silverlight web parts.

  • Yes, you do tend to develop on Windows Server 2003/2008. This doesn't bother me and I don't spend much time at all on installation and configuration. I do use virtual machines for development environments sometimes and agree that can sometimes be a pain.

What I am able to do, however, is configure some things instead of develop. Authorization, done; provisioning, done; row-level security, done; basic UI CRUD, done; deployment to multiple front ends, done; search, done. Now I have time to focus on solving the business problem.

If you are going to do SharePoint development, you need to get started on the right foot. I highly recommend Inside Microsoft Windows SharePoint Server 3.0 to get to the meat of what a developer can/should do within SharePoint.

For what it's worth, I've been a developer for over 20 years working on Unix and Windows in several different languages and technology. I've been focusing on SharePoint v3 since it's beta days and am happy with the direction I have chosen.

Solution 2:

I'm surprised at all of the positive responses. Let me just ask, do you mind creating your markup in code? As in HtmlWriter.BeginTag("br") (or whatever, sorry for not knowing the HtmlWriter api). That's considered best practices for creating redistributable web parts.

How about the Ajax Toolkit? Oops, off limits. Doesn't work due to a missing doc-type in the header.

And your laptop is running Windows server 2003, right? Because of course Sharepoint won't run on anything else.

I understand people defending their platform, but as someone who has had to do some work in Sharepoint, but doesn't any more ... let me say that developing for Sharepoint is the worst development experience of my life. Now, I've been pretty careful in my choices to date, so it's not the worst possible experience, but it's down there. Or, to put it another way, I would much prefer working in PHP than Sharepoint.

Solution 3:

My small web shop briefly embraced SharePoint a couple of years back; we did consulting, customization, training, and so on. It's true that you get a lot out the box, and I understand it's improved a lot; but the overall experience was very negative and we've never looked back.

  1. The users that we trained on it absolutely hated the user interface and it was very frustrating not to be able to fix the things that are wrong with it.
  2. Customizing Sharepoint's visual presentation is not for the faint of heart. The incompetence of whoever wrote the CSS at Microsoft is just horrifying. I still have nightmares.
  3. For whatever reason they didn't just design it as a garden-variety web app, which makes setting up a development environment a huge pain in the neck.

In general, SharePoint falls short of its promise in a number of ways that are just mystifying: Things that would seem like no-brainers require all kinds of custom development.

We've gone back to rolling our own solutions for customers; they're much happier with that arrangement, and so are we.