I am 3 months into a SharePoint project that will be ending soon.
I spend my days going through error logs trying to figure out why
various SharePoint components do not function like MS says they should.
Documentation is regarded by many in development industry as "...worst
I've ever seen". Good luck finding anything useful on an MS related site.
Many "social features" depend on UPS (User Profile Service) which is notoriously
buggy and difficult to configure; google it and you'll see. On my project
it took multiple developers weeks and a Ph.D in EE to get UPS working at all.
All this for a webservice! Due to ongoing stability problems said company eventually
hired a SharePoint author who proclaimed "I believe in this platform!". Yea right. I
wonder how much he's getting paid to say that. However take heart, with each new
MS Cummulative Update, UPS gets closer and closer to being viable, at least for a
development environment. It has come a long way from the initial release when it
completely didn't work at all.
You will spend much of your time configuring Active Directory, IIS, ForeFront Identity Management Services, SQLServer, and Server2008 settings. Keep in mind most of these settings will conflict with one another so be prepared to spend plenty of time on SharePoint blogs looking for work-arounds. In fact most SharePoint blogs are dedicated to workarounds and hacks just to get SharePoint to work or at least bring it up to functionality of basic website. I thought the whole point of a platform with pre-built functionality was to decrease your work load, not increase it. If you like to lay code and not play admin or blog sleuth, this is not the platform for you.
As mentioned elsewhere development requirements are insane. SharePoint Server(the full version of the product) can/should only be run on Windows server. For me this means virtual machine. 8GB ram is really minimum you can get away with. I ended up buying core i5, 16GB, and SSD just to build reasonably fast dev environment. This is web development, not video editing.
If you and/or your team are lucky enough to get SharePoint mildly stable in a production environment, end users will be treated to 5-second page loads, slow response times for almost any type of request, and possibly the most unintuitive UI in recent computing history. One of SharePoint's major attractions is that you can edit web pages on the fly by adding various types of webparts or using SharePoint Designer to actually change structure of page. This can get experienced developers into a lot of trouble so non-technical user's whom I believe this feature is targeted towards, will die. They will be met with a chorus of Correlation Id errors that give them a very helpful and informative GUID.
Developers and end users both loose when it comes to this mess.
The only thing SharePoint is good for is making me believe in necessity
of opensource.
PS - Please don't attack my spelling or grammar. I am not an English major.