As a long time developer I've worked with all kinds of technologies and I've got to say that SharePoint has been one of the most frustrating beasts of them all.
The problem is SharePoint gives an end user remarkable flexibility right out of the box for doing all kinds of things which is one of the reasons it's so amazingly popular. Very few technologies let non-technical folks create and manage lists and libraries for collaboration, handle user permissions, personalize and create web pages, wikis, blogs, meeting workspaces, and do it all with just a few clicks of the mouse button. And that's in WSS alone!!! What's not to like?
Well I'll be the first to admit that SharePoint is amazing for what it can do but if you're a fellow developer then I'm sure you've spent more than a few minutes scratching your head and wondering why certain things aren't easier to do.
For instance, have you ever had to edit the source of a page in SharePoint Designer that's littered with reams of XML and XSLT? Maddening! Add just a few custom web parts to a page and just see how quickly Designer turns into a dog. That's where having a great text editor comes in really handy (I use JGSoft's EditPad Pro).
Or wouldn't it be nice if you could filter a lookup column in a list or library on any criteria at all? I can think of at least ½ dozen clients where that functionality would have been invaluable.
What about easily changing how a site looks without resorting to the outdated use of themes? Or creating a new feature by hand-editing CAML?
I could go on but let me say while there is a lot I don't like about SharePoint, the strengths far outweigh its shortcomings… and I fully expect Microsoft to address many of those shortcomings in the next Office 14 release (slated for 2009).
And working with SharePoint has given me the opportunity to get re-involved in Microsoft technologies (I haven't touched an MS website since ASP – Pre .NET). So after years in the LAMP world I'm now learning about all of the exciting things on the horizon like Cloud Computing, OSLO, LINQ, Workflow in .NET 4.0, web services, and oh, so much more.
Stay tuned for tips on how to get around some of the more interesting SharePoint problems you might come across. I promise to put on a happy face next time.