Acquia Academy

Acquia Certified Drupal 10 Developer

This is the study guide for the Acquia Certified Drupal 10 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.

About the exam

The following is the key information about the exam:

  • Exam name: Acquia Certified Drupal 10 Developer
  • Exam duration: 90 minutes
  • Exam length: 60 questions
  • Pass/Fail mark: 65%
  • Available languages: English, Japanese

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 10 platform.

This exam validates a candidate’s ability to:

  • Design, develop and deploy Drupal 10-based solutions
  • Understand the core Drupal 10 basic architecture
  • Understand best practices for front and back end development
  • Develop and maintain applications using Drupal 10 front and back end development
  • Develop and implement new Drupal 10 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

Steps to certification

Take introductory Drupal courses

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.

Gain practical experience

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.

Perform self-assessment

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.

Use labs and study guide

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.

Register for and take the exam

At this stage, you should be ready to take the exam. Follow the instructions for registering for an exam.

Exam domains

Domain% of Questions
1.0 Fundamental Web Development Concepts10%
2.0 Site Building30%
3.0 Front end Development (Theming)25%
4.0 Back end Development (Coding)35%
TOTAL100

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 content in this examination.

Self-assessment

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.

How to use self-assessment

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.

Acquia Certified Drupal 10 Developer self-assessment table

DomainTopicYour Score (1-10)
1Fundamental Web Development Concepts
 
1.1Demonstrate knowledge of HTML and CSS.
 
1.2Identify JavaScript and jQuery programming concepts.
 
1.3Demonstrate the use of Git for version control.
 
2Site Building
 
2.1Demonstrate ability to create and configure content types with appropriate fields and field settings for building basic data structures.
 
2.2Demonstrate ability to configure display modes for building custom form and view modes for core entities.
 
2.3Demonstrate ability to create and use taxonomy vocabularies and terms for classification and organization of content.
 
2.4Demonstrate ability to configure block types, manage blocks library and configure block layouts.
 
2.5Demonstrate ability to build main and alternative navigation systems by using menus.
 
2.6Demonstrate ability to create and configure views for building content list pages, blocks, and feeds.
 
2.7Demonstrate ability to use configuration management capabilities for exporting site configurations.
 
2.8Demonstrate ability to build multilingual websites using core multilingual capabilities.
 
3Front-end development (theming)
 
3.1Demonstrate ability to create a custom theme or sub theme.
 
3.2Demonstrate knowledge of theming concepts.
 
3.3Demonstrate ability to use Twig syntax.
 
3.4Demonstrate ability to build or override Twig templates for defining layout content.
 
3.5Demonstrate ability to write template pre-process functions for overriding custom output.
 
4Back-end development (coding)
 
4.1Demonstrate ability to write code using core and object-oriented PHP.
 
4.2Demonstrate ability to develop custom modules using Drupal API for extending Drupal functionality.
 
4.3Demonstrate ability to store and retrieve data using code.
 
4.4Demonstrate ability to work with other essential APIs.
 
4.5Demonstrate ability to write code using Drupal coding standards.
 
4.6Demonstrate ability to analyze and resolve site performance issues arising from site configuration or custom code.
 
4.7Demonstrate ability to analyze and resolve security issues arising from site configuration or custom code.
 
4.8Demonstrate ability to write a test using the core testing framework.
 

Preparation

Once you have a list of topics for which you need preparation, you will possibly face two challenges:

  1. Find and study documentation and knowledge resources for the topics.
  2. Find enough practical case studies covering the topics.

Knowledge resources

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.

Labs and case studies

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 10 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.

Study guide

Check out the new Drupal User Guide for understanding key concepts.

Tools to know for Drupal development

Drupal Coding Standards

This is an overview of coding best practices and standards as they are applied in the Drupal community.

Coding standards

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.

Drush

Practice skills application

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

TopicLink
HTML, CSS, JS, PHP Learning resourcesWeb technology for developers
Working with Libraries in Drupal (Javascript and Stylesheets)Adding assets (CSS, JS) to a Drupal theme via *.libraries.yml
Drupal Javascript APIJavaScript API overview
Git Tutorial on AtlassianBecome a git guru
Common Git WorkflowsComparing 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

TopicLink
Drupal User Guide (D.O)Drupal User Guide
Content TypesSetting Up Content Structure
TaxonomiesTaxonomy
Working with blocksBlocks
Working with menusMenu
Working with ViewsCreating Listings 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

TopicLink
Theming Drupal (D.O Docs)Theming Drupal

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

TopicLink
Creating custom modules (D.O)Creating modules
Object Oriented ProgrammingGetting started - Background & Prerequisites
NamespacesNamespaces
Services and Dependency InjectionServices and dependency injection in Drupal 8+
Drupal APIsDrupal APIs
Drupal Coding StandardsCoding standards
Writing Secure CodeWriting secure code for Drupal