You mentioned XML. It's SharePoint equivalent is CAML. (Collaboration Application Markup Language). You'll need this when creating list/site definitions and deployments (features and solutions). When creating CAML queries LINQ will also be handy as this is the way it's done in SharePoint 2010, whereby it writes the CAML query for you under the LINQ covers. Also REST. And CSS if you are branding. Phew.