Stat Tracker

Tuesday, May 24, 2011

Passing the Force.com Advanced Developer Exam

Update 12/8/2011: I recently completed the Assignment and Essay portions of the process and am happy to report that I passed! I am now a Force.com Certified Advanced Developer.

Yesterday I passed the Force.com Advanced Developer Exam! There are 2 additional stages to this certification which I have not completed yet. There is a programming assignment and a essay assignment, both of which I am waiting for Salesforce to notify me when the next session is. That being said, the exam portion is pretty tough. If you don't have at least 6 months experience hands on with Apex and Visualforce I wouldn't recommend taking it.

The format is similar to the Developer exam which is a prerequisite before you can take the advanced exam. There are multiple choice questions which also have the tricky "Select 2" or "Select 3" type questions. So the format is nothing new. What is new is the questions. The exam took me 48 minutes, but your allotted 2 hours.

There are lots of questions on Visualforce, Apex, and SOQL. So you need to be very familiar with them. For example, there are questions which will present you a SOQL query and ask you what will result from the code. Another question provided a Visualforce Page and an Apex Class, then asked if it could be used as a Standard Controller, Extension, ETC. So you need to have built lots of different Visualforce Pages and Apex Classes to pass the exam.

Another important piece that is covered in multiple questions is Visualforce Templates and Visualforce Components. You need to know how to use Visualforce Components, especially how to pass variables from a Visualforce Page to a Visualforce Component. There were 3 questions just on Visualforce Components, how to build them, how to pass variables to them, and what type of variables they can accept.

Unit Testing questions are also on the exam. Make sure you know how to write GOOD unit tests. Don't presume test data will be available in your instance for example. Also remember that a Unit Test NEVER commits data to the database. They try to catch you a few times with that asking if at the end of unit test the data is committed.

There are 3 or 4 questions specific to Salesforce environments. You need to know what environments to use for different use cases. For example, Developer Edition should be used for building stand alone managed packages. They will ask you to match up multiple environemnts to the proper use case so be familiar with all the different types and their proper use cases.

There was a few questions around Email Services also. How do you build one and how do you test one will be covered so make sure you've built and deployed a few Email Services to different environments.

There are quite a few tools and deployment questions on the exam. Make sure you know how to deploy changes using the Force.com IDE, Force.com Migration Tool, and Change Sets. You need to know how to make destructive changes and how the xml files are structured for the Force.com Migration Tool. You also need to know all the concepts around how packages and what environments they can be built in.

My best advice is to go through the Force.com Developer Guide which can be found here: http://wiki.developerforce.com/index.php/Force_Platform_Developer_Guide. The guide is a good primer on both the Developer Exam (First 7 chapters only) and the Advanced Developer Exam (Chapters 8 through 15). For the advanced developer exam, if you have experience with Force.com, and you review chapters 8 through 15 you will have a good chance at passing the exam.

I'd also reference Jeff Douglas's blog post about the exam. He has some other items that I may have missed above. http://blog.jeffdouglas.com/2009/07/13/i-passed-the-salesforce-com-certified-advanced-developer-exam-so-can-you/

Good Luck!