When deciding to start developing in SharePoint you first need to know which API’s / Tools and Technologies are available.
There are 2 types the Server-Side and the Client Side ones.
Ok now we know both API categories, how can we use it in our Scripting / Programming experience.
First we need to decide which language we want to use to access the API’s/
.NET c# or VB.NET
Which Tools and Technologies do you need to master.
MS SharePoint Designer
SharePoint 2010 Web Services
SOAP / REST
SharePoint Query String (URL)
SharePoint Designer Features for Developers
Business Data Connectivity
MS SQL DB & Admin
MS SSRS (integrated mode)
MS Report Builder
CAML query syntax
LINQ query syntax
MS Windows Server 2008 or Higher
SharePoint Security Model
Maybe I forgot some, but these are the one I got my feet wet in.
So if you decide to take a dive into SharePoint development. You run into an elephant
This is a good comprehensive overview as well : SharePoint Architecture.
Here you can find some examples on how to access the different Interfaces