In 2015, Salesforce introduced the Salesforce Platform Developer 1 certification. The primary goal was to uniquely recognize individuals who understood the non-declarative side of the platform- Apex and Visualforce. Although the existing “Dev 401 Force.com Certified Developer” implied knowledge of Apex it did not formally recognize expertise in Apex and Visualforce. Platform Dev 1 will remedy this by testing your knowledge of Apex and Visualforce at the beginner level.
– 60 questions, mix of multiple choice and true/false
– You will have 105 minutes to complete the test
– The passing score is 68%, so out of 60 questions, you’ll need to answer 41 correctly
Before continuing, let’s address some basic and practical questions, firstly, 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. However, if this is your first programming language, then you should have at least six months to a year of prior experience before taking this exam. Of course, this is not a concrete rule but rather a general principle.
What resources are available?
As usual, the Platform Developer 1 study guide will you be your starting point. Follow through with the trailheads and developer workbook.
* Salesforce also offers training via the new DEV-450 course.
Blindly plowing through the study guide may not produce the results. Instead:
1. Divide & Conquer – Review the study guide and identify the least familiar topics
2. Label each topic based on your strength of the subject and start with the least
3. Once you have identified the starting point, branch out to the corresponding Trailhead and developer workbook
4. Have a study strategy!
Tip – Flash cards- create your own flashcards for each topic section. Of course, you won’t write flashcards to memorize a section of code but it could help you memorize the basics of the limits class or order of execution etc.
Apex and Visualforce
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…
Order of Execution– Know this. Beyond understanding the order, you should understand what could cause recursion and what the outcome will be.
- 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.
Governor limits– 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 – As you prepare for this exam, you will be exposed to what might appear as 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 counter productive 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.
These questions will test your knowledge of the declarative features and their relationship with the data model.
- You should fully understand the difference between Master Detail and Lookup relationships.
- Understand external objects- relationships and how to initialize.
- Formula and Rollup fields- understand what type of relationship is required and what is possible for a given relationship.
Tip- Carefully read each question- Try to identify the relationships and look for the security constraints built into the question.
Multi faceted questions- Process Automation questions will typically combine several dimensions and package that into a paragraph about 1 1/2 inches thick – Data model, permissions, summary fields and record updates. So the question may have something to do about adding a summary field, but the answer will hinge on the type of relationship used in the story and its constraints. The authors of the test will juxtapose these subjects to common business scenarios and at times obfuscate some of them.
The “Apex and Process Automation” accounts for a significant part of the exam and the most complex. The remaining subjects are somewhat more gentle but should be thoroughly understood.
Understand how Salesforce maintains performance when hosting multiple orgs.
Understand the difference between managed and unmanaged packages and when to use one over the other.
Data Model & Management
Understand the difference between Lookup and Master Detail:
Tip – 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.
- Schema builder- how to make modifications (Add/Delete)
- These will contain some of the most nuanced questions so pay close attention and understand when to use one over the other (Lookup vs Master Detail)- you must know the object relationships.
- Understand the relationship between the Standard Objects:
Yes, there’s a lot of 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 advance objects like EmailMessage, Attachment, Documents, etc…
You will succeed. 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 awhile 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.