In October last year I was awarded the Salesforce Advanced Developer certification and recently presented a brief session at the North UK Salesforce Platform DUG about passing on some tips.
The certificate is made up of 3 parts:
- A multiple choice exam
- A programming assignment
- A written essay style exam about the programming assignment
Multiple Choice Exam
The multiple choice exam takes the same format as the Salesforce Developer and other exams, 69 multiple choice questions, 120 minutes to complete and a 73% pass mark, all proctored and under exam conditions. The syllabus can be found here and contains details about every topic that could come up in the exam. My advice is to give yourself a month or so before the exam to review all the material in chunks. A lot of it is stuff that you will no need to know for a day-to-day Salesforce Developer/Tech Lead/Tech Architect role (for example limits in email templates) and so you should be sure to give yourself enough time to prepare thoroughly. Jack Li has put together a great set of notes you can find here as well. You should use them as a starting reference for what type of information you will need to know for the exam, however they are not comprehensive as some of the contents of the exam have been updated due to new release material.
You will need to be very thorough in going through the syllabus but everything is easily accessible from the help files and documentation (you can pretty much Google the phrase in the syllabus and it will take you to the information you need to learn). I found flashcards a really useful study aid for this exam - there are a number of things you will need to memorise for the exam (save execution order, certain limits, etc.) and flashcards are an effective way of doing spaced repetition to help you remember more. I used Anki but have also heard good things about Quizlets.
The questions tend to be of 3 different types:
- Scenario with possible options
- What’s wrong/what will happen with this code?
- What is XXXX?
When it comes to reading the code questions, have faith in your convictions and step through the code logically as if you were doing some Rubber Duck Debugging. I personally find it easy to over-analyse these types of questions (they have asked me because there must be a problem, but they know I know they want me to think there is a problem etc.) but I don’t believe there is any intention to trick you in the questions. A lot of the answers to all the question types will hinge on a specific detail so just be thorough when reading through.
I have been asked by a few people if there are “shortcuts” on studying - things to learn and things to not look at. There is as far as I am aware nothing to do other than to learn the contents of the syllabus thoroughly. It will make you a better developer for having done it and in my exam I am sure every area was covered.
Once you have cleared the multiple choice exam you will need to sign up for the programming assignment portion. Check the dates on the certification website and make sure you are logging on to sign up at the time when the window you want goes live for registration as places fill up very quickly. You will need around 20-30 hours to complete the assignment in full and make sure you have covered everything off in lots of detail. You will get given feedback at the end of the assignment about what was good and bad about your work - be sure to test everything in large amounts of detail and stick to the spec they provide. Once you have completed the assignment it takes around 6-8 weeks for you to get the result back.
Key things for the assignment are:
- Structure your code sensibly and logically
- Use platform features wherever possible
- Focus on functionality and less on a flashy UI
- Test everything and write system/functional tests as well as unit tests
- Take your time and go through the spec in detail
The essay portion of the certification you will take during the same sort of time window as doing your programming assignment and you will be asked a series of questions about the programming assignment you are doing, the architectural choices and decisions you are making, the technical patterns and strategies you are using and so on. I would recommend doing this at about the 66%-75% range of your assignment as you will have completed a sufficient amount of the assignment to provide good answers and will also have enough time to make any last minute tweaks based upon things you may think of during the process of explaining the decisions you have made.
For this, make sure you understand your system and why you have done it in such a way. Good, clear, concise written communication skills are a must for this part so make sure once you have written your answer you re-read it to check for the above items.
Success! And a Few Thoughts
Hopefully after doing all of this you will then hear back from the certification team informing you that you have passed. I would emphasize taking some time to read through the feedback provided to you with regards to the programming assignment as it will be very helpful and honest and should be seen as a learning point going forward.
I would highly recommend working to attain the Advanced Developer exam as it definitely helps in improving your overall skill-set and reminding you of a few items that you may not see on a day to day basis or have forgotten. It is also still a rare certification and as such will open you up to new roles and enhanced employment opportunities.
Good luck and feel free to tweet me @pbattisson if you have any questions!
A copy of the slides from my talk are available Dev 501 DUG
In the original release of this it was pointed out I had incorrectly attributed the notes to the wrong author. This has been corrected and they are now correctly attributed to Jack Li.