Table of Contents
The Salesforce Platform Developer 1 certification has been around since 2015, and has grown in popularity year on year.
This is the baseline credential for any Salesforce Developer. Showcase your knowledge on fundamental programmatic capabilities – in other words, building custom applications on the Lightning Platform.
The exam will test your knowledge on:
- Salesforce Fundamentals: multi-tenant environments, declarative vs. programmatic customization
- Data Modeling and Management: object schema, data relationships,
- Process Automation and Logic: Apex classes and triggers, SOSL, SOQL, and DML statements in Apex, exception handling in Apex, platform events,
- User Interface: Visualforce pages, controllers/extensions, Lightning Components,
- Testing, Debugging, and Deployment
Who's the Ideal Candidate?
Before continuing, let’s address some basic and practical questions. The first question: how much programming experience is required?
Apex was my third programming language. I already understood the fundamentals of programming: data structures, interfaces, conditional statements, iterators and most variations of SQL. So if you’re transitioning into Apex from Java or another OO language, you will start with an advantage since the syntax and structure is very similar.
Salesforce recommends you have 3-6 months experience to pass the certification – however, if this is your first programming language, then I recommend you have at least 6 months to 1 year of prior experience before taking this exam. Of course, this is not a concrete rule but rather a general principle.
Multi-Tenant Environment: understand how Salesforce maintains performance when hosting multiple orgs.
Declarative vs. programmatic customization: when do use each (of course, Salesforce prefer you to maximise ‘clicks-not-code’ functionality!)
Trailhead Module: Platform Development Basics
Database Modeling and Management
Time to brush up on your ‘point and click’ business logic!
This topic will contain some of the most nuanced questions, so pay close attention and understand when to use one option over another (eg. Lookup vs Master-Detail).
- Schema builder: how to make modifications (Add/Delete)
- Understand the relationship between Standard Objects:
- Understand the difference between Lookup and Master-Detail
Tip – Junction Objects: know what a junction object is but also when to recommend a many-to-many relationship. Remember, the questions will be in the form of a story or use-case so be on the lookout wording that references quantities and relationships.
- Formula fields and roll-up summary fields: understand what type of relationship is required and what is possible for a given relationship.
Tip – Read Carefully: read each question carefully, and try to identify the relationships and look for the security constraints built into the question.
Yes, there’s a lot to understand – it’s an overwhelming large schema! These questions will be sneaky since the question will test your knowledge of the model indirectly by asking you something that has a dependency on a relationship; for example, Rollup Summary fields – yes, they require a master-detail relationship but they are constrained by certain standard object relationships.
Focus on the most commonly used standard object relationships – don’t worry about the advanced objects like EmailMessage, Attachment, Documents, etc.
The “Process Automation and Logic” section of the exam accounts for a significant part (38%) and is the most complex.
In a nutshell:
- Apex Basic Constructs
- Apex Classes and Triggers
- SOQL, SOSL, and DML
In this section, you will begin to encounter simple, moderate and complex code snippets. You should be able to read the code and identify the final state of a variable or identify the correct utility class etc. Here is an extensive list of the areas that could be covered that you will need to understand:
- Study the Apex sharing model
- Triggers: Before and After triggers, context variables and DML operations. Understand what cannot be implemented in a before trigger and when to choose a trigger over a workflow.
- Data Types- You should be familiar with the primitive and advanced data types
- Evaluating code- be able to read a conditional statement and correctly evaluate its state.
- Access modifiers
- Variable scope
- Apex Collections- List, Map, Set
- Understand inner classes and their limitations.
- Iterators- for and SOQL-for loops.
- Schema methods
- Limits class
- Exception handling
- SOQL- know the relationship query limits.
- SOQL vs SOSL- know the difference between the two and their return types.
- Apex Unit Tests-You should know how to create test data and load bulk data. Of course, understand the components of a test class and best practices.
If you’re coming into this exam with SQL capabilities, the Trailhead module: Database & .NET Basics is designed just for you! This module will help you to take what you know about SQL and apply that to SOQL, SOSL, and DML in Apex.
Order of Execution
Know this! Beyond understanding the order of execution, you should understand what could cause recursion and what the outcome will be.
User Interface - Visualforce and Lightning Component Framework
Here are some points I would like to highlight for this section:
- Know which controller type to use- standard or custom for a given scenario
- Also understand the security implications of each.
- Merge fields
- Understand the value of Lightning and why Salesforce is actively promoting it.
- Understand Lightning components and what resources can be bundled in.
Testing, Debugging & Deployment
You should understand the basic limits, but moreover, recognize when you’re in a “governer limits” related question. First, the code snippet will contain a DML operation. Second, read the code carefully and count the number of DML operations- reconcile this with your knowledge of DML limits and move on to the next question. DML questions will be the most complex that you’ll encounter.
Tip – Memorising Limits: as you prepare for this exam, you will be exposed to what might appear like an overwhelming amount of information – and it is! This is the entry-level developer test, so as you look at the governer limits or other subjects, it would be counterproductive to memorize, for example, the “Maximum timeout for all callouts” or “Maximum number of Apex jobs added to the queue with System.enqueueJob”. These limits are associated with more advanced operations which will not be covered in this exam. Therefore, you should really focus on the limits that will govern the types of operations that you’re expected to know. I say this strictly as a test preparation principle and not a “day in the life” of a production developer since it’s good to know all the limits as you will eventually encounter them.
The Platform Developer I Certification contains a mixture of multiple-choice questions that will test your knowledge of the platform, as well as being able to read sample code and answer questions about the snippet.
Salesforce has a selection of 3 questions that you will be able to test yourself on to get to grips with the format, here is a sample question:
What should a developer do to update a picklist field on related opportunity records when a modification to the associated account record is detected?
a) create a workflow rule with a field update
b) create a Visualforce page
c) create a Lightning Component
d) create a process with Process builder?
With the PD I certification, we are very lucky to have a dedicated Trailmix for passing this certification! Obviously, this is the best place to start.
Each unit branches out to other modules, so you can dig deeper if you need to grasp the fundamental concepts for that topic first off.
Although the depth and breadth of information that you must understand appears vast, it can be mastered – one section at a time, one day at a time.
You should understand this very well – after all, as developers, your projects iterate from a state of low complexity to high. The same applies here. Start attacking this one subject at a time, ideally with the areas in which you are the weakest.
I knew what my weak points were and started there. I also knew where the biggest chunk of points were and identified the easy points. I knew which area I must absolutely know and where I could afford some risk – I had a strategy and so should you.
If it’s been a while since you’ve taken an exam, don’t second guess yourself. If you’ve put in the study time, completed the workbook and trailhead challenges, you are ready. Ideally, you will also have had some practical real world experience through your job or contracts for at least six months. Now, if your current job function doesn’t include Apex programming, do not despair. Volunteer through Salesforce.org, you can gain valuable experience that will propel your career to the next level.
I knew that I was ready when I could verbally recite the structure of a trigger, it’s context variables, complain about recursion in an after insert trigger and bore my wife with the exciting features of the Database class and why it’s really better than a boring DML upsert operation. You will know when you’re ready.
I won’t wish you luck, but rather discipline and determination – that’s all you need.