Where should I start learning? There are various topics to learn like Objects, Classes, Apex, Visualforce, SOSL, SOQL, Triggers, etc. There are so many options out there to start learning. I couldn't decide what topic to learn first, and then step by step get proficiency in all aspects of Saleforce.

locked by Adrian Larson Feb 18 '17 at 0:53

This question's answers are a collaborative effort: if you see something that can be improved, just edit the answer to improve it! No additional answers can be added here

Read more about locked posts here.


Although this question isn't well defined enough for this site which is typically focused at solving specific issues, I do think there's merit in building up a guide to the best resources so I'm going to make the question and this answer community wiki.


As of late 2014, by far one of the best options for getting up to speed on the platform is Trailhead, a free online training option provided by Salesforce which makes for a more interactive and easier route than simply reading the documentation. To test your learning in different modules you actually write code which is executed and verified by the Trailhead system.

enter image description here

Other Options

There are a lot of moving parts in the force.com platform and it can definitely seem overwhelming at first, but the real trick is not to jump straight into the code side of things—there is a lot to learn about what you can do without code, and on any project you should leverage the declarative side of the platform as much as possible.

Personally I think the best route for you to take is the following:

  1. Work through the Force.com Fundamentals Book
  2. Next work through the Visualforce Developers Guide — IMO this is a MUST for every developer creating Visualforce pages... you'll be amazed at how much you can achieve without a single SOQL query or Apex controller
  3. Once you've got Visualforce nailed down, then start learning about Apex via the Apex Workbook. This will explain some of the fundamental concepts of working with the platform, specifically around limits etc.

If you work through the above you'll no doubt pick up some SOQL along the way, and it's not a particularly complicated query language to get to grips with. Once you've done all this you'll have all the basics covered and then you can pick and choose which areas to focus on specifically, i.e. custom apps, mobile apps etc.

Good luck, and don't hesitate to ask questions on this site, remembering to show what you've tried and what you're stuck with.

  • 1
    Thanks lacey, i understand that How I have to start, but the main problem is I had also tried before, and when I am learning Visualforce then I got some segment of Apex, So I just left visualforce and started Apex, so i can better understand about visual force, and In apex I got some new things like SOQL, trigger, objects and many other things SO I just switched on them. So That's the problem I could not get a start point where these all modules are in a linear way means As I am learning visual force, then everything which is needed for visual-force I already learnt. – user2809299 Sep 24 '13 at 3:53
  • The VF guide linked above covers a lot in Chapters 1-4 that doesn't touch Apex — that's a good place to work from. Have you done any development before at all? – Matt Lacey Sep 24 '13 at 4:00
  • No yet not, I am just starting learning, It will be real help of me If I get a proper guidance and i think by that manner I can get better grip on this technology. – user2809299 Sep 24 '13 at 4:16

I've been in your exact situation before =)

I'm a marketing major who dreamed of being a Salesforce developer. That was three years ago - today I'm a Salesforce developer at Google.

Here's what I recommend:

  1. Learn the non-code side of Salesforce first. You absolutely cannot be a good Apex programmer unless you know core Salesforce extremely well. Here's a great, free resource: https://www.udacity.com/course/ud162
  2. Start learning Java. There are a ton of great books on Java and no good beginner books on Apex. The good news is there is 95% overlap between the two languages. Out of the five or so books I used, my favorite was Head First Java.
  3. Once you're ready to learn Apex, start off with a simple Hello World trigger. Then move on to SOQL. Then, combine SOQL and Apex. From there, you want to learn about Governor Limits, batch Apex, Visualforce, etc.

Finally, I created a site to teach people how to code in Apex from the absolute beginning. It was so unnecessarily difficult for me to get to where I am today that I decided to do something about it! Another answer referenced my site on this question as well.


Best of luck =)

  • 1
    Could you give a short approach on how you studied and learned within your answer ? That would remove the doubt that this is just advertising, which may just get your answer removed. – Samuel De Rycke Jan 15 '14 at 7:24
  • Thanks for the heads up Sdry! Let me know if this is still too advertise-y =) – dvdkliu Jan 16 '14 at 3:02
  • I'll add that while I didn't like the Udacity classes; the Trailhead (free from Salesforce), the workbooks, and lots of time trying to read code here has helped me tremendously. And the Head-First Java book is awesome. Don't be scared of the size, it's worth the time and is well written for beginners. – HomerJ Jan 15 '15 at 23:12

I'm a long-time Salesforce admin who has no programming background and is starting to dabble in code. Echoing a previous commenter, make sure you have a solid understand of Salesforce as a platform and everything you can and cannot do with the declarative (non-code/point-and-click) tools before you even touch code. Build out some apps, build complex business logic, etc. If you've been an admin/developer on Salesforce for a while, you probably already have that. If not, I'd look into resources for the 401-Developer exam--if you have your head around all of those concepts, then you're ready to touch code.

When you are ready to dig into code, I highly recommend: Hands-On: Introduction to Force.com Code (Apex) for Non-Developers

I took this class in person at Dreamforce, and it was great. Above is the link to the YouTube video of the class. You might have to do some digging to find the exercise files, but working along with the class was a good starter for wrapping my head around the basics. (For people with existing developer experience just not Apex, particularly Java, there's a parallel course called Hands-On: Introduction to Force.com Code (Apex) for Developers]

I've also found this to be a good, basic resource: SFCD99: Finally, Apex coding lessons for point-and-click admins!


There are a couple great places to start:


Videos / Webinars



For Dev use

  1. http://www.sfdc99.com/
  2. https://www.udacity.com/course/intro-to-point-click-app-development--ud162

For Admins use

  1. http://www.adminhero.com/
  2. http://certifiedondemand.com/

I also struggled with learning salseforce, even with a java background. I keep hearing about this pain to learn salseforce. So here's a salseforce 101 doc i've created, to how to get started. https://docs.google.com/document/d/1pqq6zl1wJR6elvHcvzOlQPAXvNuDQhJkzgvHTNwszsw/edit

  • 2
    Thanks for sharing, you're however asking everyone to browse away from this site with only posting a url. Would you mind editing your answer,and posting in the content of your document, that would greatly improve the quality and may even get you some upvotes! – Samuel De Rycke Jan 5 '14 at 9:21
  • @Sdry, yeah, but my post had too many links, i don't have enough privileges, to post many links, :( – sangramkesariray Jan 9 '14 at 11:18

I personally would start by taking the DEV 401 and DEV 501 classes. You can also access all the Developer API documentation which is like the bible of coding on force.com. Here are the links. Ofcourse, ask plenty of questions on forums like this.

Force.com Apex Developers Guide: http://www.salesforce.com/us/developer/docs/apexcode/index.htm

Visualforce Developers Guide: http://www.salesforce.com/us/developer/docs/pages/index.htm

Ofcourse, Google searches are always good. Most of all, get your hands dirty by creating some small projects and play around, that's the best way of learning.

Not the answer you're looking for? Browse other questions tagged or ask your own question.