Passing the Salesforce Certified Platform Developer 1 Exam
In 2015 Salesforce launched the new Platform Developer I Certification exam and for the first time Apex and Visualforce knowledge was a requirement for the entry level dev certification. Knowing that every future Appiphony developer would need to take the new exam, Burhan Islami and I were voluntold to take it and pass. (Thanks Mike!)
Over the course of 3 weeks we spent our off-hours working through the suggested materials in the Salesforce Certified Platform Developer I study guide and then crossed our fingers and took the exam.
$#%@! We failed! That’s awkward. Bow heads, avoid eye contact with fellow developers, and finish out the week.
After a long weekend, the pain subsided and we were back at it, evaluating what went wrong. Based on the questions we remembered, we created a strategy for studying and actually passing the exam this time. Three days later, we retook the exam and passed. Yeah!
Why the differing results? Well a little bit of knowledge goes a long way. The experience of failing the first exam informed us of what topics to focus on and we used this knowledge to create our own study guide. We published it as a public Trello board so feel free to copy it.
Below are the topics and related links we used to study. These match up with our Trello board study guide. We hope this information helps you pass the first time and avoid the mental anguish we both went through. Good luck!
Standard Objects: Know the relationships between all the standard Salesforce objects by reviewing both the Sales Cloud & Service Cloud data models. Have a good understanding of how the Standard Objects are used by actual users of Salesforce. Finally, go into setup and look at what unique capabilities the major standard object have (Leads, Contacts, Accounts, Opportunities, Cases, Campaigns, etc.).
- Accounts & Contacts Trailhead
- Leads & Opportunity Trailhead
- List of all Standard Objects
- Sales Cloud Data Model
- Service Cloud Data Model
Salesforce Tools vs Apex: Process Builder, Triggers, Workflows. What can each one do, can’t do, and how they differ? When should a developer use one over another?
Apex Unit Tests: How to write unit tests and test your Apex code with them. How do you create and use test data? What are the best practices related to unit tests and test data?
Primitive Data Types: What they are? What are they used for? What do they default to?
Developer Related Limits: Know the most common Salesforce Limits, especially those relating to DML, Triggers, SOQL, and SOSL. Most likely you won’t be asked directly about them, but general Apex related questions will require you to know them. Always check for them in these questions.
Developer Console: Have you used it before? You should check it out. Make sure you know what tabs are available, what information is provided in it, and what can you even use it for. Can you deploy code using developer console?
Change Sets: Don’t just know what they can and can’t do, but also what orgs do they come from and go to. What do you need to deploy change sets?
Lightning: What is it? What are Salesforce’s intentions for Lightning?
SOQL & SOSL: Make sure you can read and write queries and know their return types. How would you retrieve 3000 records in SOSL? Did you remember pagination and SOSL limits?
Controllers: When do you need a custom one? When do you not need it? Why use Standard Set Controllers or Standard List Controllers? Which one should you use if you want to mass update records?
- Standard Controllers
- Standard List Controllers
- Custom Controllers and Controller Extensions
- StandardSetController Class
Triggers: What operations can they trigger off of and when? How do they interact with Workflows and Process Builder?
Order of Execution: This one is huge. You should know the ordering. Can there be infinite looping? When an object updates via trigger and workflow, what happens? What user is running in each step?
Rollbacks: How do rollbacks work with different scopes? What happens to our Salesforce limit counters after rollbacks?