Before I get right into our topic, you might know that we as a company are not a SharePoint training center. We develop, build and install "third-party" SharePoint solutions (see below). You may be familiar with other posts from the SharePoint AMS library that in fact are very technical, this one is geared differently. We wanted to be able to address all of our users especially some of our newer members to the SharePoint community.
"I'm new to SharePoint. I have a background in ColdFusion, HTML, Java, Ruby, C++, Photoshop, (insert previous life here), etc., and now I want to learn SharePoint. Where should I start?"
If you are trying to learn SharePoint, even getting started can be a little intimidating. SharePoint information is available in many forms: books, blogs, discussion boards, conferences, events, webinars, and more. With so much information available for free, where do you start?
Start with a book. There are many free resources out there, but many of them are out of context for someone just coming to SharePoint. A book is usually pretty concise and comprehensive. You can keep it with you, highlight it, make notes, and have it readily accessible. It can be a physical book or a digital version. It does not matter. There are so many books to choose from that it doesn't even matter which book you start with. Pick one. Buy one. Borrow one. Steal one. WAIT-please don't actually steal one. You'll find that the SharePoint community is a very engaging community of people that will gladly lend or give you a book if you ask for one.
Even when starting with a book (or class or guessing your way through it), I would still recommend the following basic approach to learning SharePoint:
Learn the SharePoint terminology. It is important to understand the basic terminology with any platform, but it is critical to understand the building blocks of SharePoint. You need to know what a List is in SharePoint. You need a lot more keywords: Farm, Web Application, Site, Site Collection, Library, List, Workflow, Activity, Alert, Item, and much more. You do not need to remember all of the specific details or become an expert yet, but you do need to understand the terminology and the boundaries of SharePoint.
Learn the SharePoint browser interface. Before you become an Admin or Developer, you should learn what you can do with the SharePoint browser interface. Learn Site Settings, List Settings, and Permissions. You can create sites, lists, libraries, workflow, alerts, and build entire applications using nothing but the browser interface. Before you begin supporting SharePoint from an administrative level or writing any code, you need to learn what can be accomplished from the browser interface. I have worked with more than one developer that wrote code to perform something that SharePoint did out of the box!
Learn SharePoint Designer. Oh, bother! SharePoint Designer is not to be trusted! I've heard it before, but the reality is that you need to use the appropriate tool for the job. SharePoint Designer is an incredibly powerful tool. It's used for applying designs and styles, but I personally don't even do that (I'm not a designer and don't claim to be). I use SharePoint Designer to create and manage Lists and Libraries. I use SharePoint Designer to make use of external data (using BCS and External Lists). I use it for creating and managing workflow, and I use it for creating XSLT List View Web Parts. You can build entire applications by configuring SharePoint using SharePoint Designer – without writing code. Very powerful.
Learn about third-party SharePoint products. In most organizations (not all), I stress the importance of minimizing the amount of custom application development that you support. I feel that it is important to exhaust all other alternatives before you begin writing custom code. This includes leveraging third-party tools and applications. Within the vast SharePoint world, there are hundreds of web parts, applications, tools, and solutions that you can purchase. If you are learning SharePoint, you should become familiar with some of these tools and what they do. If nothing else, it will help you understand how others have attacked building applications. It may also shed some light on some of SharePoint's weaknesses (or at least what some of these vendors think those weaknesses are).
Developers: Only after the previous steps should you Learn Visual Studio and .NET in the context of SharePoint. Last (but definitely not least), go to Visual Studio and/or PowerShell. If you are already a .NET developer, you may be inclined to start here. Don't! Learn the SharePoint basics before you start writing code.
If you are new to .NET, then you still need to follow this prescription: Learn SharePoint before you learn how to write custom code in SharePoint. If you are new to .NET, you will need to learn .NET and more specifically ASP.NET. There are thousands of resources available for this as well, and it depends upon your preferred learning method. There are books, classes, blogs, webinars, and online virtual classrooms. Pick a method that works for you (on your schedule and within your budget).