I started Sharepoint over a year ago when I inherited WSS 3.0 from my company.
Personally, I think that it was a great step for me to learn a little about Sharepoint development, there are many problems (for example, security, load balance, halo), it was nice to see how the WSS team was solved and helps me solve problems in others the solutions I'm working on. But I donât work on WSS solutions full time, so others have to be responsible for how it works with WSS every day.
WSS and Sharepoint are extensions on the ASP.NET platform, so any experience with ASP.NET and .NET in general should be a good foundation for the developer who begins to create SharePoint solutions. I read the Inside Microsoft Windows Sharepoint Services 3.0 book to get the basic concepts and solution for wss solutions before I started working on WSS projects.
I quickly discovered that you must have a virtual machine environment to develop Sharepoint, because it is a pain working on the client and binding to a remote process on the server to go into debug mode. Therefore, I recommend creating a MOSS virtual machine with Visual Studio installed, with access to your version control system. Develop solutions on this machine, and then finish, then check the source control.
I also recommend looking at development tools such as stsdev and wspbuilder to help you build your solution, this will make the development process a little easier for you. The Internet also has many tools, for example. codeplex to help you.
Sometimes it can be a problem to develop these solutions, changes may require reusing the IIS pool or IISReset with brute force, error messages can sometimes be a little cryptic, and so on. But you will quickly catch and know where to look. Sharepoint also helps you a lot, I had millions of questions from clients that can be resolved using standard external web parts, so I donât need to code the code to support the clients :)
Sharepoint also expects solutions to be encoded in a certain way, for example. 12, so it helps you standardize your decisions.
There is a serious lack of documentation, so you need to rely on Reflector and such tools a lot, just to find out what is happening within the framework, I hope everything will get better from 2010.
The initial learning curve is high, and many new concepts are learning technologies, for example. Workflows in sharepoint, featuers, ghosting, and code access modes There are many Xml configurations that sharepoint uses that developers should learn, including site definition, list templates, and more. There are sometimes days when I am stuck in Xml editing mode and cannot understand why things do not work, how they should do
These are just some of my thoughts, I worked mainly in the development of WSS, and it would be great if someone could comment on setting up web parts in Sharepoint, for example. search setting. This is what I did not do much.