We launched a new site. Please contact us if you run into a problem. See known issues.

Professional Developer Exam Preparation (AD0-E717)


Test History

This test has a long history: AD0-E702 → AD0-E711 → AD0-E717. The course for this test now includes the Cloud add-on. The Professional Study Guide only covers the core Adobe Commerce. If you wish to learn Cloud, you will need the course.

About the Test

If you want to prove your capability in Adobe Commerce (Magento 2) development, the Adobe Commerce Certified Professional Developer is your best bet. You could just take a course, but you might as well take the final step and get that badge on your LinkedIn profile.

77 Questions
2.5 Hours
65% Pass Mark

Our materials come in two forms: a fully-featured course with video and written tutorials (including Cloud) or the study guide.

This test has a reputation (but not as bad as the Expert Developer one). It's tough. I've seen developers with "Senior Magento Developer" fail this test. And it's still considered the "easiest" of all Magento certifications. How do we crack this exam? The good news is that folks from all over the world can and do pass it. The key is all in the preparation. This page will give you the inside tricks to pass the exam.

You might have heard about our study materials from someone else. I am incredibly privileged to have helped thousands of people in over 80 countries achieve this certification. This material works.

The Professional exam is the "easiest" of the Magento 2 tests. It covers backend development, theme creation, and database modifications.

Joseph's difficulty meter: 2 out of 10. This is the first Adobe/Magento Commerce test that you should take.

In my experience helping hundreds of people achieve their certifications, please start with this test. This gets your feet wet with taking Magento-style tests and will set you up for success on the Commerce Expert Developer test (previously known as Professional Developer). The questions are straightforward to understand. Some tricky domain knowledge only comes with experience or study (experience is recommended).

The Prep Course

  • Written by Chris Nanninga—a certified Professional (and Expert) developer with over ten years of agency-related experience building websites.
  • Videos: over 10 hours of videos providing additional details. Picture this as Chris, a senior developer, sitting down with you to explain these critical topics concisely.
  • Written guide: if you're not into watching videos, no problem: we have everything written out as text, too. The content in the videos is slightly different than the course.
  • A git repository: peeking is allowed here (but code copying is undoubtedly not encouraged).
  • Includes four practice test attempts.
  • Our friends in India, Bangladesh and Pakistan get 50% off with the code 50OFFINDIA.

Want to show your prowess?

Could there be a credential that carries more weight than the Adobe Certified badge? That's a difficult task, but we believe we've done it. You see, the Adobe test is challenging. But, SwiftOtter's preparation for the test is much broader and profound. Thus, once you work through this course and achieve the test, shoot us an email with your credentials and we will issue this beauty to you to feature on your Linkedin profile.

Core Adobe Commerce (Magento 2) Course Syllabus


  • Welcome (5:25)
  • Get your official SwiftOtter badge!
  • Objective Mapping
  • Project Requirements (19:39)
  • Environment Setup (13:17)
  • Study Guide and What about Cloud?

Chapter 1: Initial module configuration

Chapter 2: Transforming order data

  • 2.1.1: Creating a CLI command - Overview (4:34)
  • 2.1.2: CLI command basics (6:16)
  • 2.1.3: Parameters and output (8:33)
  • 2.1: See the code
  • 2.2.1: Capturing input (3:07)
  • 2.2.2: The HeaderData class (4:57)
  • 2.2.3: Injecting HeaderData (5:55)
  • 2.2: See the code
  • 2.3.1: Order data collection strategy - Overview (3:15)
  • 2.3.2: Create the parent iterator class (6:21)
  • 2.3.3: Child collectors (9:41)
  • 2.3.4: OrderHeaderData collector (13:09)
  • 2.3.5: OrderItemData collector (11:44)
  • 2.3.6: ExportHeaderData collector (4:16)
  • 2.3: See the code
  • 2.4.1: EAV structure (4:46)
  • 2.4.2: Create a data patch (8:46)
  • 2.4.3: Using `sku_override` in the export (12:23)
  • 2.4: See the code
  • 2.5: De-coupling business logic (14:50)
  • Chapter 2 Summary

Chapter 3: Completing the export, entity models

  • 3.1.1: Install the mock-erp-api package (3:34)
  • 3.1.2: New Store Config settings (12:25)
  • 3.2.1: The API request action class (4:19)
  • 3.2.2: Using GuzzleHttp\Client (5:02)
  • 3.2.3: Error and response handling (12:17)
  • 3.2: See the code
  • 3.3.1: Creating an entity - Overview (2:42)
  • 3.3.2: Creating DB schema (11:52)
  • 3.3.3: The resource model (5:40)
  • 3.3.4: The entity model (18:56)
  • 3.3.5: The collection model (6:45)
  • 3.3: See the code
  • 3.4.1: The service layer - Overview (5:34)
  • 3.4.2: Basic repository structure (12:07)
  • 3.4.3: Basic CRUD methods (15:48)
  • 3.4.4: Search results (5:01)
  • 3.4.5: The getList method (17:28)
  • 3.4: See the code
  • 3.5: Saving the export details (7:34)
  • Chapter 3 Summary

Chapter 4: Working with front-end UI

  • 4.1.1: Identifying the right layout handle (7:11)
  • 4.1.2: Making the layout update (11:41)
  • 4.1: See the code
  • 4.2.1: View models - Overview (4:42)
  • 4.2.2: The OrderExportLink view model (7:37)
  • 4.3.1: Controllers and routes - Overview (5:17)
  • 4.3.2: The "Export Details" controller (13:50)
  • 4.3.3: The OrderExportView view model (15:05)
  • 4.3.4: Export Details page basic structure (13:09)
  • 4.3.5: Some basic styling (9:33)
  • 4.3: See the code
  • Chapter 4 Summary
Chapter 5: Extension attributes
  • 5.1.1: Extension attributes - Overview (4:28)
  • 5.1.2: extension_attributes.xml (4:32)
  • 5.1.3: Loading data with a plugin (13:50)
  • 5.1.4: Plugin on getList (6:53)
  • 5.1: See the code
  • 5.2: Using extension values (2:53)
  • 5.3: Tweaking the export details save (3:37)
  • Chapter 5 Summary

Chapter 6: Revisiting the front-end

  • 6.1: Install the fulfillment-block package (2:20)
  • 6.2.1: Customizing checkout UI - Overview (7:39)
  • 6.2.2: Injecting a new UI component (9:01)
  • 6.2.3: A custom layout processor (7:47)
  • 6.2.4: Injecting the CMS block (4:52)
  • 6.2: See the code
  • 6.3.1: Creating a theme (6:30)
  • 6.3.2: Using _theme.less (8:15)
  • 6.3.3: Using _extend.less (5:33)
  • 6.3.4: Custom layout (6:10)
  • 6.3: See the code
  • 6.4.1: view.xml (5:12)
  • 6.4.2: Localization/translation (5:45)
  • 6.4: See the code
  • Chapter 6 Summary

Chapter 7: Modifying the admin

  • 7.1: Copy the OrderExportAdmin module (2:06)
  • 7.2.1: acl.xml (5:53)
  • 7.2.2: menu.xml (5:03)
  • 7.2: See the code
  • 7.3.1: Modifying admin UI components - Overview (5:30)
  • 7.3.2: Adding the archived field (3:59)
  • 7.3.3: Filtering a data source (10:09)
  • 7.3.4: Adding a grid column (5:59)
  • 7.3: See the code
  • Chapter 7 Summary

Chapter 8: Extra features

  • 8.1.1: Creating a cron job - Overview (4:04)
  • 8.1.2: The basic cron structure (5:07)
  • 8.1.3: The archive logic (6:07)
  • 8.1.4: Testing cron jobs (6:24)
  • 8.1: See the code
  • 8.2.1: Observers - Overview (5:41)
  • 8.2.2: Adding the "Expedited SKUs" config (7:25)
  • 8.2.3: Basic observer structure (11:27)
  • 8.2.4: Expedited message logic (15:07)
  • 8.2: See the code
  • Chapter 8 Summary
  • Conclusion

Adobe Commerce Cloud Course Syllabus

Chapter 1: Architecture

  • 1.1.1: Cloud Service Plans (2:57)
  • 1.1.2: Platform-as-a-Service Architecture (5:56)
  • 1.1.3: Infrastructure-as-a-Service Architecture (4:06)
  • 1.2.1: Services (7:33)
  • 1.2.2: Fastly (8:19)
  • 1.2.3: The Filesystem (5:05)
  • 1.2.4: Automated Backups and Log Rotation (2:35)

Chapter 2: Tools and Concepts

  • 2.1.1: Composer (3:34)
  • 2.1.2: Git (6:04)
  • 2.1.3: SSH (4:26)
  • 2.2.1: The Project Web Interface (9:02)
  • 2.2.2: The Cloud CLI Tool (14:30)
  • 2.2.3: ECE-Tools (11:25)
  • 2.3.1: Logs (12:14)
  • 2.3.2: Users (10:38)

Chapter 3: Environment Management

  • 3.1.1: Working with Environments - Overview (1:31)
  • 3.1.2: Branching and Merging (13:51)
  • 3.1.3: Activating and Deactivating (8:04)
  • 3.1.4: Syncing Environments (5:24)
  • 3.2.1: Snapshots (7:05)
  • 3.2.2: Database Backups (6:28)

Chapter 4: Configuration

  • 4.1.1: Main Config File (9:59)
  • 4.1.2: Disk Configuration (9:32)
  • 4.2.1: Services Configuration (12:44)
  • 4.2.2: Viewing Service Relationships (3:23)
  • 4.2.3: SSH Tunneling (5:09)
  • 4.3.1: Routing - The Web Property (8:58)
  • 4.3.2: Routes (14:51)
  • 4.3.3: Multi-Domain Setup (8:54)
  • 4.4.1: Variables - Overview (4:14)
  • 4.4.2: Environment Variables (14:28)
  • 4.4.3: Store Configuration Overrides (9:51)
  • 4.4.4: ADMIN and CLOUD Variables (4:45)
  • 4.4.5: Build/Deploy Variables (8:10)

Chapter 5: Build and Deploy

  • 5.1.1: Basics (9:07)
  • 5.1.2: Scenario-Based Deployments (5:37)
  • 5.1.3: Patches (5:15)
  • 5.2.1: Optimized Static Content Deployment (15:43)

Important Study Guide note

The study guide for AD0-E716 does not contain updated information about Cloud. We do provide the previous Cloud study guide. We have decided to prioritize additional training instead of adding to this study guide. Why? Few developers have a solid enough grasp of Adobe Commerce Cloud to make a study guide useful. We focused our efforts on building the Cloud course.

What is the difference between the study guide and the course?

They are BOTH included in the price of the course.

The study guide is focused on sharing and rounding your knowledge. There are many pages of text and code samples. It give you practical experience jumping-off points for further research.

The course is focused on a specific implementation to gain knowledge. It walks you through the background for ideas. It helps you understand why I do things like I do it. It gives you the practical experience needed to pass the Professional Developer test.

How much experience should I have before attempting the test?

Adobe says that no experience is necessary. You can take the Fundamentals of Magento Development course and then you pass. However, this is an expensive course and many of us developers have an "I'll do it myself" attitude (which is a good thing). This can lead into a problem where we underestimate the difficulty of the test and we don't study, and then we fail the test.

Instead, the course that I have written, see below, is designed to help bring you the knowledge necessary while also taking the minimalistic route to getting this knowledge (don't be fooled, as it still is a lot of work). Provided you have some Magento development experience, you can easily pass the test with some additional study.

Here's what the test covers:

  • Working with the Admin (4 questions):
  • Magento architecture (20 questions): files required for modules, purpose of each system-defined file in a module, how to perform basic CLI tasks, how to create a new module.
  • Request flow processing (4 questions): understanding how to create a new route and a new controller.
  • Customizing the Magento UI (9 questions): creating themes, understanding layout XML, templates, LESS
  • Working with Databases in Magento (11 questions): understanding the difference between (and use cases for) models, resource models, collections and repositories. How to modify the database.
  • Developing with Adminhtml (7 questions): utilizing the capabilities available for admin customization, like ACL, menus, store configurations, available scopes.
  • Customizing Magento Business Logic (10 questions): how products work, strategies for catalog maintenance, understanding categories.
Starting on a solid foundation.

Instead of an article that lists 5, 7.5 or 10 resources that will help you become an Adobe Commerce (Magento 2) developer, here is one resource that I wrote to help you become a Magento professional.

A big question for many is how do I get started in Magento development? Maybe you were just hired by a Magento agency or are looking to improve your skills.

Imagine having a senior developer come alongside you and teach you his learnings from the school of hard knocks. Instead of having to battle for days to find an answer, what would it be like to know where to find the answer quickly? Keep reading because you will find the answer.

The Magento Open Source project has approximately 3,245,229 (over 3 million) lines of PHP code. The learning curve often takes months and possibly years. In the process, you are met with massive challenges and not knowing the right way to build things. When people usually exit the learning curve, they do so with much baggage in the form of habits of doing things the wrong way. This costs time and money to come back later and fix mistakes. Oh, and undoing habits is challenging.

I have written an involved guide to help you come up to speed on Magento development. After reading and working through it, you won’t be a senior developer—that only comes with years of experience. But, you will be familiar with the main areas of Magento development. And, you will know where and how to find answers to questions in the Magento core.

I am going through the videos for the associate study guide and as you know I went through part of the project guide document as well. I find the videos to be fantastic!! I would recommend everyone to go through them. What is really important is the fact that "mistakes" stay included in the video and you debug through them "live". I have seen a lot of videos showing "perfect coding" where those mistakes were cut from the training and the person would just say something like "if you have this you should do that, etc..." but seeing it in your video and the thinking process behind it is so valuable. Thanks for all the time and efforts you put into this.

- Jonathan

If you give someone a fish, you feed them for a day. If you teach someone how to fish, you feed them for a lifetime.


Yes, we will refund the money you paid for the study guide if you fail. However, having participated in writing this exam, just reading this study guide will not assure you of a passing score. You are spending less than $100 on a study guide for a $200 test, so it is important that you thoroughly study and practice. In order for us to provide a refund, you will need to have one of the first two practice test takes within a 4-week rolling window be over 65%.