Trailhead is an interactive learning experience provided by Salesforce.com for developers to learn different areas of the Salesforce1 platform. Fresh new content has been added and there’s plenty to be excited about. This post details my take on the new content and experiences completing the new modules and the updates to existing modules (4 badges!). I highly encourage you to visit Trailhead and give it a try.
Units: Getting Started with Apex Unit Tests, Testing Apex Triggers, Creating Test Data for Apex Tests
The Apex Testing module’s description is “Write robust code by executing Apex unit tests”. The module covers the ins and outs of unit tests, including best practices. There are very well done interactive challenges where you must write unit tests for classes that you copy into your org from GitHub.
I was glad to see that the point was made that while achieving 100% code coverage is good, it is not the end all be all and that most times different inputs should be tested, positive and negative tests, etc., even when they cover the same code. Additionally, it was great to see that the concept of abstracting test data creation in a test utility class was part of the unit. So, not only does Trailhead teach the syntax and structure of unit tests, but it goes into best practices and explanations of how and why unit tests should be written in certain ways.
Units: Deploying Changes Safely,Developing and Testing with Sandbox, Deploying from Sandbox with Change Sets, Managing Change with a Governance Framework
The Change Management module’s description is “Safely deploy changes by developing them like apps”. The module contains units that cover developing and testing in a sandbox, change sets, and guidance on how to make changes safely.
But, that’s not all. Because it is so easy to make changes, sometimes changes are made hastily by individuals without the knowledge of or communication to others. Having a change management governance framework can help prevent problems that arise from that (e.g., 3 “Total Amount” fields on the Account!!!) and lead to more dependable changes. There is an entire unit that explains how to manage change with a governance framework.
The contents of this module could easily be adopted (or at least used as a starting point) for organizations looking to get change management in line.
Units: Overview of Data Security, Controlling Access to the Organization, Controlling Access to Objects, Controlling Access to Fields, Controlling Access to Records, Creating a Role Hierarchy, Defining Sharing Rules
The Data Security module’s description is “Control access to data using point-and-click security tools”. The module contains units that cover all aspects of securing data within Salesforce.com and is not just limited to sharing, CRUD, and FLS settings.
Security is an aspect of Salesforce.com that can be challenging for newer Salesforce developers to fully understand with differences between org wide defaults, sharing rules, role hierarchy, profiles, and permission sets. My “lightbulb” moment with Salesforce.com when I felt I really understood it came when I had a good understanding of all of the different security features related to data access. This module does a great job explaining the data access features, but that’s not all. All security features, such as user management, and organization security settings are covered in great detail.
Units: Getting Started with Visualforce, Creating & Editing Visualforce Pages, Using Simple Variables and Formulas, Using Standard Controllers, Displaying Records, Fields, and Tables, Inputting Data Using Forms, Using Standard List Controllers, Using Static Resources, Creating & Using Custom Controllers
The Visualforce Basics module’s description is “Use Visualforce to build custom user interfaces for mobile and web apps”. This module thoroughly covers the main points of Visualforce. The module starts off with an explanation of the framework and describes the places in Salesforce where it can be used. The following units dive into code with well done explanations that contain great information about best practices.
One of the things that makes this module nice is the number of screen shots that are included for the various steps. Sometimes, when learning new tools and features, it is easy to get stuck on something for a while that a simple screenshot would clear up instantly. At the same time, it can be a bit much to have screenshots for every little step. It’s obvious that the Trailhead authors put a lot of thought into where to use screenshots.
Another common theme I noticed was that very good, detailed explanations were given. For example, in the Using Standard Controllers unit instead of just giving instructions with outputs, the reasons for why the inputs cause the outputs are given. Learning the whys behind something is the way that I learn best in contrast with memorization or repetition, because it enables me to be able to reason about the information later to come up with solutions.
Multiple Choice Quesitons
There are now some challenge questions in a multiple choice format, which is great. Guess what else that is put out by Salesforce.com to test a developer’s knowledge is multiple choice? The certification exams. So, not only is Trailhead in a useful format for learning anew, it also is in a useful format for studying! A two for one.
Extra Tip: Videos
There are excellent quick background and how-to videos embedded in some of the units. These do a great job of giving a visual guide of how to perform some of the actions covered in the unit. Additionally, they are Youtube videos, so if you are logged in to your Youtube account you can add them to your watch later list or a playlist. You could have a Salesforce.com playlist, for example, that I add useful videos related to development on the Salesforce platform.
The Trailhead FAQ is an excellent resource for quickly learning more about the ins and outs of Trailhead. The new updates contain a lot of information in a format that makes it easy to follow. The gamification aspect of earning points makes it fun and also makes it easy to keep going and/or come back for more.
One bonus conclusion that I drew, was that Trailhead isn’t just for learning. It is a great resource for certification exam preparation. Of course that makes perfect sense. I’ll go as far as to say Trailhead is likely the best free resource for certification preparation.
If you are in a management position at an organization looking for how to get new hires that lack Salesforce1 Platform up to speed or existing Java developers converted to Salesforce1 Platform developers, Trailhead is a must.
Finally, if it seems like this article has really been hyping Trailhead to the extreme, it’s because it has, but that’s only because it is deserved. Trailhead is very innovative and really is that good. Whether you are new to development on the Salesforce1 platform or looking to expand or polish your current skill set, head on over to Trailhead and get started!