This is the study guide for the Acquia Certified Drupal 9 Developer Examination.
This guide explains the exam blueprint, breaks down knowledge domains, and helps you get familiar with the nature of questions asked in the exam. It also provides helpful steps to prepare for the exam and links to further resources for study and preparation.
The following is the key information about the exam:
Exam name: Acquia Certified Drupal 9 Developer
Exam duration: 90 minutes
Exam length: 60 questions
Pass/Fail mark: 65%
The purpose of this exam is to validate the skills and knowledge of a Drupal Developer in the areas of fundamental web concepts, site building, front end development (theming), and back end development (coding). This exam is based on the Drupal 9 platform.
This exam validates a candidate’s ability to:
Design, develop and deploy Drupal 9-based solutions
Understand the core Drupal 9 basic architecture
Understand best practices for front and back end development
Develop and maintain applications using Drupal 9 front and back end development
Develop and implement new Drupal 9 modules and themes
Customize and extend existing modules and themes
The basic knowledge and skills required at this level should include all of the following areas and objective components:
Professional experience using Drupal technology
Setup and configure Drupal sites
Develop and implement new Drupal modules
Develop new or customize existing themes: knowledge of existing themes, HTML, CSS, JavaScript/JQuery
Customize and extend existing modules: knowledge of existing modules, PHP
Acquia offers free Drupal preparatory courses on Acquia Academy.
Customers, Partners, and the public can self-register on the appropriate branch of Acquia Academy to access these and other Drupal resources.
We offer private, instructor-led Drupal training for groups of up to 10 people. Visit Professional Services Product Guide to review our available private training.
Through our network of training partners, we offer public, instructor-led training, sold by the seat. Visit the Acquia Developer Portal for public training listings.
After taking an introductory course, build a small website on your own to reinforce the concepts learned in the course.
Completing the courses may not fully prepare you to take the certification exam. You need some practical experience to attempt the exam. We recommend that you gain practical experience by working on at least 2-3 real-life projects.
Once you decide to take the exam, we recommend that you study the domains and topics covered by the exam and their relative weight. You should also perform a self-assessment of your areas of strength and weakness vis-a-vis the domains/topics covered by the exam blueprint. This is a recommended starting point for experienced Drupal Developers.
Based on your self-assessment, you may need to gain knowledge and experience in some domains or topics. The best way to learn Drupal is by working or experimenting with it. Follow the suggestions given for preparation in the Preparation section and refer to the external resources given in the Study Guide section.
At this stage, you should be ready to take the exam. Follow the instructions for registering for an exam.
Domain |
% of Questions |
---|---|
1.0 Fundamental Web Development Concepts |
10% |
2.0 Site Building |
30% |
3.0 Front end Development (Theming) |
25% |
4.0 Back end Development (Coding) |
35% |
TOTAL |
100% |
Note
This exam blueprint includes topics, domains, and test objectives to help guide the test taker. It should not be construed as a comprehensive listing of all of the content of this examination.
Experienced Drupalists will likely know their weaknesses more than they know their strengths. You might have judged your own skill levels while reading through the four domains listed above. It is quite natural for you to be more experienced and proficient in one domain than another. Also, within a domain, it is quite likely that you have hands-on experience on some topics but have never touched other areas within the same domain.
We suggest you perform a skills and expertise self-assessment with respect to the domains and topics listed in the blueprint. The blueprint lists test objectives (topics) for each domain. Rank your skills on a scale of 0 to 10 against each test objective (0 for absolutely zero knowledge or exposure and 10 for complete mastery).
Topics with a score of 8+ are your strengths.
Topics with a score of 5 to 7 will need some preparation.
Topics with a score below 5 may require a lot of preparation, or guided instruction.
You may use the following table to carry out your evaluation.
Domain |
Topic |
Your Score (1-10) |
---|---|---|
1 |
Fundamental Web Development Concepts |
|
1.1 |
Demonstrate knowledge of HTML and CSS. |
|
1.2 |
Identify JavaScript and jQuery programming concepts. |
|
1.3 |
Demonstrate the use of Git for version control. |
|
2 |
Site Building |
|
2.1 |
Demonstrate ability to create and configure content types with appropriate fields and field settings for building basic data structures. |
|
2.2 |
Demonstrate ability to configure display modes for building custom form and view modes for core entities. |
|
2.3 |
Demonstrate ability to create and use taxonomy vocabularies and terms for classification and organization of content. |
|
2.4 |
Demonstrate ability to configure block types, manage blocks library and configure block layouts. |
|
2.5 |
Demonstrate ability to build main and alternative navigation systems by using menus. |
|
2.6 |
Demonstrate ability to create and configure views for building content list pages, blocks, and feeds. |
|
2.7 |
Demonstrate ability to use configuration management capabilities for exporting site configurations. |
|
2.8 |
Demonstrate ability to build multilingual websites using core multilingual capabilities. |
|
3 |
Front-end development (theming) |
|
3.1 |
Demonstrate ability to create a custom theme or sub theme. |
|
3.2 |
Demonstrate knowledge of theming concepts. |
|
3.3 |
Demonstrate ability to use Twig syntax. |
|
3.4 |
Demonstrate ability to build or override Twig templates for defining layout content. |
|
3.5 |
Demonstrate ability to write template pre-process functions for overriding custom output. |
|
4 |
Back-end development (coding) |
|
4.1 |
Demonstrate ability to write code using core and object-oriented PHP. |
|
4.2 |
Demonstrate ability to develop custom modules using Drupal API for extending Drupal functionality. |
|
4.3 |
Demonstrate ability to store and retrieve data using code. |
|
4.4 |
Demonstrate ability to work with other essential APIs. |
|
4.5 |
Demonstrate ability to write code using Drupal coding standards. |
|
4.6 |
Demonstrate ability to analyze and resolve site performance issues arising from site configuration or custom code. |
|
4.7 |
Demonstrate ability to analyze and resolve security issues arising from site configuration or custom code. |
|
4.8 |
Demonstrate ability to write a test using the core testing framework. |
Once you have a list of topics for which you need preparation, you will possibly face two challenges:
Find and study documentation and knowledge resources for the topics.
Find enough practical case studies covering the topics.
Customers and Partners the public can self-register on the appropriate branch of Acquia Academy and take courses in the relevant domain to refresh their knowledge.
Supplementing introductory Drupal training with documentation and online resources is a good idea.
A list of online resources and documentation for each learning domain appears in the Study Guide section.
Finding sufficient practical case studies covering exam topics can be a challenge. Here are a few ideas and suggestions for finding case studies for your preparation:
Site Building
Review several (3-5) Drupal 9 projects that you or your team has worked on in the past year. Review the content types, field settings, display settings, vocabularies, blocks, menus, and views used on the sites.
Ask questions:
Why are the configurations the way they are?
What can be changed or improved?
What are the issues or support requests raised by the client?
What changes were made to initial configurations and why?
Front end development
Find custom themes developed by your team over the last year. If possible, obtain the source designs or wireframes on which they were based. Review template files and Twig syntax, review CSS and JS files, review pre-process functions implemented by the theme.
Ask questions:
Is the theme implemented exactly as per the designs? If not, what changes were needed and why?
Are theme regions optimal? Is there any redundancy?
Are there any theme settings?
How are CSS and JS files called in the theme?
Are there any preprocess functions used? Why?
If you do not have access to themes developed by your team, you could do this exercise by examining a few contributed themes.
If you wish to sharpen your knowledge further, you could try building a theme on your own!
Back end development
If you have not worked on back end development or module development, preparing for this part of the exam could be a challenging task. In this case, studying the code of modules developed by your team may or may not help, as modules developed could either be extremely complex or very specific to the requirement or use case. The exam expects that you have an overall understanding of Drupal’s API, core plugin system, and their applications.
We suggest that you attend a module development course and/or build a small module on your own to prepare for this domain. If you cannot attend a training program and are a self-learner, you may try the Examples module: (Examples for Developers). The Examples module provides highly documented working code snippets for many of the Drupal APIs and concepts covered under Sections 4.1 and 4.2 - if you prefer to try out some code in action rather than going through documentation.
Check out the new Drupal User Guide for understanding key concepts. |
Drupal Coding Standards
This is an overview of coding best practices and standards as they are applied in the Drupal community.
These coding standards, detailed for every area in which code might be produced during Drupal development, represent the broadly established best practices of the community. Adhering to these best practices will make development go more smoothly, and your contributions to Drupal core or modules more readily and easily accepted. If you are working on a project with Acquia Support, these are the coding standards to which pull requests must adhere.
Drush
While not required to pass the Site Builder exam, Drush is considered a basic skill for Drupal site development.
The application of Drupal concepts is the hands-on practice of development. The courses provide some opportunity to practice doing basic development tasks alongside the videos, but you will need more practice than that to pass the exam. Some suggested resources are below, which provide details for the completion of specific development tasks in Drupal.
1.0 Fundamental Web Development Concepts
1.1 Demonstrate knowledge of HTML and CSS
1.2 Identify Javascript and jQuery programming concepts
1.3 Demonstrate the use of Git for version control
Topic |
Link |
---|---|
HTML, CSS, JS, PHP Learning resources |
|
Working with Libraries in Drupal (Javascript and Stylesheets) |
Adding assets (CSS, JS) to a Drupal theme via *.libraries.yml |
Drupal Javascript API |
|
Git Tutorial on Atlassian |
|
Common Git Workflows |
2.0 Site Building
2.1 Demonstrate ability to create and configure Content Types with appropriate fields and field settings for building basic data structures
2.2 Demonstrate ability to configure Display Modes for building custom form and view modes for core entities
2.3 Demonstrate ability to create and use Taxonomy vocabularies and terms for classification and organization of content
2.4 Demonstrate ability to configure Block types, manage Blocks library and configure Block layouts
2.5 Demonstrate ability to build main and alternative navigation systems by using Menus
2.6 Demonstrate ability to create and configure Views for building content list pages, blocks, and feeds
2.7 Demonstrate ability to use Configuration Management capabilities for exporting site configurations
2.8 Demonstrate ability to build multilingual websites using core multilingual capabilities
2.9 Demonstrate ability to build RESTful web applications using core Web Services capabilities
Topic |
Link |
---|---|
Drupal User Guide (D.O) |
|
Content Types |
|
Taxonomies |
|
Working with blocks |
|
Working with menus |
|
Working with Views |
3.0 Front End Development (theming)
3.1 Given a scenario, demonstrate ability to create a custom theme or sub-theme
3.2 Demonstrate knowledge of theming concepts
3.3 Demonstrate ability to use Twig syntax
3.4 Demonstrate ability to build or override Twig templates for defining layout content
3.5 Demonstrate ability to write template pre-process functions for overriding custom output
Topic |
Link |
---|---|
Theming Drupal (D.O Docs) |
4.0 Back End Development (coding)
4.1 Demonstrate ability to write code using core and Object-Oriented PHP
4.2 Demonstrate ability to develop Custom Modules using Drupal API for extending Drupal functionality
4.3 Demonstrate ability to store and retrieve data using code
4.4 Demonstrate ability to work with other essential APIs
4.5 Demonstrate ability to write code using Drupal Coding Standards
4.6 Demonstrate ability to analyze and resolve site performance issues arising from site configuration or custom code
4.7 Demonstrate ability to analyze and resolve security issues arising from site configuration or custom code
Topic |
Link |
---|---|
Creating custom modules (D.O) |
|
Object Oriented Programming |
|
Namespaces |
|
Services and Dependency Injection |
|
Drupal APIs |
|
Drupal Coding Standards |
|
Writing Secure Code |