This is the fourth in a series of posts on the Acquia Certification Exams for Drupal 8:
- Part 1: Introduction: Are These Certifications Useful?
- Part 2: Acquia Certified Site Builder
- Part 3: Acquia Certified Developer
- Part 4: Acquia Certified Back End Specialist (you're here!)
- Part 5: Acquia Certified Front End Specialist
In the last post, I described the Certified Developer Exam, which assesses your ability to build Drupal websites using custom modules and themes at a professional level. In this post, I'll discuss the more difficult Drupal 8 Back End Specialist exam.
What's on the test?
The Back End Specialist exam covers much of the same material as the Certified Developer exam, but it's focused exclusively on module development. The questions require a deeper understanding of the Drupal 8 APIs and PHP programming. In short: it's a lot harder.
The module development questions on the Certified Developer exam stay pretty close to the basics, like menu routing and creating blocks. But on the Back End Specialist exam, all Drupal 8 APIs are in bounds. I had questions on:
The Plugin API: not just implementing custom blocks, but how to create your own plugin type.
Creating custom fields types
The Filter API: creating a custom filters for text formats
Properly implementing cache contexts and tags
Advanced URL routing configurations
Automated Testing: including the differences in the different types of tests, and where code for each type goes in your module
Creating custom configuration forms
The Entity API: requiring knowledge of how the various methods of EntityTypeManager work, as well as the different acceptable ways to access the field values of entities
Drupal code style standards: I got several questions on these
jQuery.once(), how to load JS files programmatically when you need them, and how to use
In addition to these detailed Drupal API questions, the non-Drupal questions on this test were tougher than on the Certified Developer exam. This included questions on:
Using composer for dependency management
Advanced object-oriented PHP concepts
Troubleshooting PHP errors, code security, and performance problems
As I have mentioned in the previous posts in this series, I think that the questions for any one exam are pulled randomly from a bank of questions. So, the topics list I've given above should not be viewed as everything you need to know. It's just a sample of what I received on my test. You should be prepared for questions on other parts of the Drupal API and general PHP development practices. The study guide provided by Acquia is a great resource. It gives you a complete list of topics, with links to relevant documentation. I will warn you, though, there is a massive amount of documentation behind those links. So, hopefully you already have a lot of the basics down cold and you can just focus on studying some of the less-frequently used APIs.
Surprises on the exam
Topics-wise, I was not surprised by any of the questions on the exam. The study guide referenced all of the topics I saw on my test. (seriously, use that study guide) I think there were a couple of problems with the test, though:
First, there were multiple questions about using composer, which I expected, but the questions were often put in a Drupal context, which I think is a little tricky right now. As discussed at a BoF at DrupalCon Baltimore, there is still some community uncertainty about how to use composer with Drupal, and best practices are still being established. It might have been better to frame the composer questions in a pure PHP context.
A bigger problem on this test was that I found some serious mistakes in the questions and answers. (I'm about 90% sure. It's possible I misread something, but re-read the problematic questions many times.) The errors in this test were more serious than what I saw in the Certified Developer exam. There were two questions that required me to select what I knew to be an incorrect answer. In both cases, I'm pretty sure it was a typo in either the question or the answer. But, on these multiple choice tests, a typo is often the distinction between the right and wrong answers. For these two questions, I had to pick the least wrong answer to complete the test.
When I started this serious of posts, someone from Acquia emailed me and asked me to let them know about any issues I had found. I sent them more specific details about the problematic questions, so hopefully they will check them out and fix them by the time you take the test.
Which DrupalTutor classes will help you prepare for this test?
None of our classes are advanced enough to fully prepare you for this exam, but our PHP Bootcamp and Drupal 8 Module Development classes would be a great start. Those courses would cover the object-oriented PHP and composer topics, as well as the basics of module development. After that, you would need to do additional study and practice with the less frequently used Drupal APIs.
Who should take this test?
This test is hard. It covers advanced Drupal API topics, and some of the questions require you to know detailed information about those APIs. You need to get 70% of the questions correct to pass, which is higher than other Acquia exams. It's also the most expensive of their exams, at $350.
I imagine that it's a relatively small group of people who would have both the experience to pass this test and the desire to do so. (I'm pretty sure I wouldn't have taken it at the full price. It was $99 at DrupalCon.) Looking at the Acquia Certification Registry, this test is the least popular by far, and nearly everyone who has passed this test works for a Drupal development agency or service provider. A significant percentage of them work for Acquia themselves. So, this definitely isn't a test for everyone.
If you're thinking about taking this test, know that there is no class or study cramming that can fully prepare you for the scenarios you will see. I recommend you have significant experience with Drupal 8 module development before you attempt this exam...and try to get your company to pay for it. :)
Okay, next up: the Certified Front End Specialist exam!