A few weeks ago there was a need for a SharePoint developer in the organization I’m working on, as I have some knowledge and experience with the technology I proposed myself even knowing that it could require a huge amount of time. After a quick Internet search to review the latest about the technology I realized that SharePoint as other technologies is going towards an stage where a self learning developer like me would have a some issues to try to learn and use the technology. These issues are related to the need of acquire new hardware and set up some software during a trial period in order to start using a technology for local learning. For example SharePoint 2013 is just compatible with Windows Server 2008 R2 or above so this version of windows for servers needs to be used as development environment there is no way for the latest version of SharePoint to run into a normal desktop operative system.
As software developer I understand the pain of maintain that kind of product for multiple platforms, but I think that at the end of the day there should be a way to develop for this technology remotely instead of using a full server, I think the Visual Studio tools, that are also very expensive, should allow the developer to remotelly connect to a SharePoint server and develop applications from the desktop computer instead of stopping him or her when trying to install the SDK for this technology.
There is a long way to go with this technology, and there are a lot of possibilities now that business start seen this tool as main source of their business processes, but big part of that integration will require a lot of customization. I know the tool can offer you a great level of customization, but been honest, business users always want more.