Sunday 11 December 2011

Advanced Developer Certification Q&A

A slight departure this week - I've received a number of questions through different channels regard the Advanced Developer Certification exam.  Rather than answering these point to point I thought I'd create living blog entry that gets updated as new questions come through and spread the knowledge out a bit.  Feel free to post further questions in the comments section - I'll then uplift them into the main post with an answer (if I have one!), so don't be surprised if a comment gets deleted!

I can't go into specifics of the actual exam questions or assignment subject, as this is contravenes the test taker agreement that we all sign up to at the beginning of the exam.  Outside of that I'll do my best to answer.

Q. What not to study for multiple choice exam. There are topics like salesforce mobile, apex chart, visual workflow these are not specified in study guide so can I ignore these topics?
A. I don't remember any questions that were not based on GA features. I did make sure that I was familiar with the information on the beta/pilot features that were available, but mainly from reading the release notes and developers guide.

Q. From start to end, ie appearing for 1st exam to receiving the result whats the total duration it took for you?
A. Just over 6 months, but some of that was waiting. I took the first exam around the middle of May, but then had to wait until September for a chance to sit the assignment. There's around 1 month to complete the assignment, and then a 6-7 week wait for the results.

Q. If somebody fails in programming assignment than he/she has appear again for multiple choice again?
A. I'm not 100% sure, but I believe that you can retake the programming assignment without having to retake the multiple-choice exam. This is based on comments from someone on LinkedIn though, so it would be better to check this with the certification team from Salesforce

Q. The 20 hrs of timeline is actually restricted to 20 hrs by monitoring login time or you can take more time and login to sandbox/production anytime for your assignment?
A. No, it was made clear that 20 hours was the suggested minimum amount of time it would take you to complete the assignment, there was no mention of any upper limit. I recorded around 28 hours, although some of that was researching and building the QA scripts.

Q. Any tips apart from the blog post?
A. The multiple choice exam is a little different from others I've taken - the questions tended to be a lot longer (including code snippets in the main), so there was more to understand and take in. More knowledge of reference material was required (e.g. triggers and order of execution, standard component attributes). Aside from that, the usual tips of ruling out any obviously wrong answers to narrow down the opportunities, making sure that you read the questions and answers properly.

Q. When is the next registration window for the programming assignment?
A. According to Nina Marinova on Linked In, the assignment window opens Dec 21.  Full details at:
Update - the registration for the assignment was full in a few hours this time.  All the more reason to ensure you are following salesforce certification on linked in, facebook and twitter.

Saturday 3 December 2011

Certified Advanced Developer

As of 3rd December 2011 I'm a Certified Advanced Developer! This post gives an overview of the exam and a few tips to hopefully assist others.  Please don't ask for or post any exam questions/answers, as this is contravenes the test taker agreement that we all sign up to at the beginning of the exam and devalues the certification.

The first step is to join the Certified Professionals group on Linked In.  This is where a lot of information around the exams is disseminated (the assignment registration windows, for example) and the Salesforce certification team often comment in the discussions around test taking.

You'll need to know the following documents intimately:
  • Apex Code Developer's Guide
  • Visualforce Developer's Guide
I also made sure I had a broad understanding of the following - not so much to know them inside out, but when each particular one should be used:
  • Web Service API
  • Metadata API
  • Migration Too

There are three parts to the exam - multiple choice, programming assignment and essay.

Multiple Choice

This is an online proctored exam lasting up to 2 hours. There are 69 Questions and the pass rate is 73%, which means that you need to get just over 50 of the answers right.  This is different to most of the other exams that I've taken, in that you needed to know reference material in detail (e.g. triggers and orders of execution), plus there was a lot more to take in for the scenarios for most questions.

One thing I found particularly useful was the amount of time that I spend on the Developerforce Discussion boards - being able to quickly comprehend unfamiliar code and spot errors is a definite advantage.

Programming Assignment

After passing the multiple choice, you the have the opportunity to register for the programming assignment. Assignments are available several times a year, but spaces are limited, so my advice would be keep your eyes peeled for the announcement that the window is open and register immediately.  The last window was open for around 6 days and fully subscribed in 48 hours.

Assuming you are successful in registering, you'll receive the assignment requirements.  They are very detailed and give you clear instructions as to what you need to focus on and what you shouldn't waste time on as you'll gain no extra marks.  The assignments have a deadline date, but you don't have to wait until that date to submit it if you are finished in advance.

The recommendation is to spend 20 hours on the assignment. I spent more than this, initially on research to check the approach that I was using was the correct one (in my opinion at least!) and the rest on revisiting my unit tests as other scenarios occurred to me. I find that once I start coding unit tests it's difficult to stop!

I approached this as I would any customer project:
  • Read the specs carefully and understand the requirements
  • Produce a design
  •  Implement the solution and unit tests
  • Write a formal QA plan to cover all of the scenarios mentioned in the specs, plus as many others as I can think of, paying attention to security and scalability.
  • Use the system for some real-world scenarios
Development is carried out in a sandbox and deployed to production.  If the deadline is around one of the three release windows for Salesforce, its best to allow plenty of time for deployment, as this can be fragile once sandboxes and production are at different versions, as I've covered before in one of my earlier posts.

Once you are happy with the assignment, you notify Salesforce that it is ready for assessment and proceed to the final component of the exam.


The essay portion of the exam is also online proctored and has an allotted time of 1 hour.  Its important to stay focused for this exam - I found myself writing long paragraphs on the actual code I'd written, which I ended up deleting as it wasn't really relevant to the question.

While an essay exam sounds intimidating, you can expect questions that ask you to explain your approach, how you handled particular requirements and what compromises were made, so as long as you've taken the assignment seriously it shouldn't be a problem.  It is possible that the essay questions will make you think of something that you've missed, in which case you have the opportunity to try to come up with a plausible explanation as part of the answer.

The cynical side of me says that the essay questions are to ensure that whoever has submitted the project has actually written it, and isn't simply riding off other peoples's efforts.

Once this is done, there's a wait of around 6 weeks before the results get sent out.