When first starting to learn development it is probably pretty tempting to go read a tutorial on something that is exactly what you want to do. But learning different is slightly different than learning to be an admin. To be an effective developer you need a solid foundation of core concepts prior to using tutorials.
The goal of this post is to give you an actionable list of resources that you can use to gain those foundational skills.
Here’s a high level overview of the roadmap:
Learn The Basics
General Programming Concepts
Learn Salesforce Specific Development
Get Certified
Tips for Continuously Learning on the Platform
1. Learn The Basics
There is no better place than Codecademy to get a feel for what it’s like to program very quickly. I suggest doing the following courses to get a solid understanding of the basics.
Front End — (For Lightning and VisualForce Development)
Back End — (For Apex Development)
2. General Programming Concepts
After completing the above courses, you will have a feel for the difference between Front End and Back End programming.
Which do you like best? Great developers will know a bit about both, but it helps to have a direction that you want to go in. In this section, I would pick either front end or back end. If you do both there will be too much overlap in concepts and you will be wasting your time. But don’t worry! You’ll get to do both later on in this road map.
Front End — (For Lightning and VisualForce Development)
Eloquent JavaScript, 2nd Ed.: A Modern Introduction to Programming By Marijn Haverbeke
JavaScript: The Good Parts by Douglas Crockford
Back End— (For Apex Development)
Effective Java by (@JoshBloch)
Both — (For All Development)
Code Complete by Steve McConnell (@stevemconstrux)
Refactoring by Martin Fowler (@martinfowler)
Clean Code by Robert Martin
3. Learn Salesforce Specific Development
Both — (For All Development)
Front End — (For Lightning and VisualForce Development)
Lightning Trailheads — Lightning Component Super Badge
Back End — (For Apex Development)
Apex Trailheads — Apex Specialist Super Badge, Advanced Apex Specialist Super Badge
Advanced Apex Programming for Salesforce.com and Force.com by Dan Appleman
4. Get Certified
The Salesforce ecosystem is one of those ecosystems that it really pays to become certified. If you’re a Salesforce admin, you probably already know this. Start with the Platform Developer Certification.
5. Tips for Continuously Learning on the Platform
Learn from Non-Salesforce Sources
Salesforce has a great community and ecosystem, but you would be limiting yourself if you only learned from Salesforce sources. In other words, If you want to continue to develop with Apex, it might not hurt to pick up a Java book here and there. The skills you learn in Java can almost directly be applied to Apex.
Keep Up To Date with Releases
One of the toughest parts about Salesforce is the constant release of new features and products. It can be entirely overwhelming to try to keep up with everything read this article for tips on how to deal with the fast paced environment: Avoiding Salesforce Fatigue.
Follow People not Tutorials
Tutorials are great, when you have something very specific in mind that you want to learn. But the tough part is there are thousands of them out there — it’s easy to get lost in the noise. To avoid this and stay focused, try following people instead. If you like someone’s learning style, learn everything you can from them!