Demand for Adobe Commerce (Magento) Developers Continues to Expand
Adobe Commerce (formerly Magento Commerce) is a leading e-commerce platform that allows you to create personalized B2B and B2C experiences on your e-commerce website. It offers ample space for growth and application of flexible, scalable solutions, no matter your current company size. Adobe Commerce acquired Magento Commerce in 2018 and has built its e-commerce software on the Magento platform. Since the integration, both developers and merchants have seen a rapid expansion of the features and functionality made possible by the licensed Adobe product, though Magento Open Source remains available for those who need only basic e-commerce development services.
Communities for these platforms are filled with certified Magento developers working hard to provide updates and new integrations to drive business growth, including native AI via Adobe Firefly and Adobe GenStudio, as well as Adobe Commerce cloud infrastructure and services. However, when it comes to customizations, a company needs to make sure that it has dedicated developers who are professional, adaptable, and have the company’s best interests in mind. It is easy to leave back doors open or otherwise botch a Magento project with poorly written code.
Those trying to cut costs will end up paying twice—this is especially true in the context of Magento development services. While the most qualified candidates may command the highest hourly rates, their expertise can still make them the most cost-effective choice.
Pre-project Check: Is Magento Itself a Good Fit?
There are a number of good reasons why the e-commerce platform is so popular:
- A large community of developers.
- Highly scalable and customizable.
- Allows multiple e-commerce websites on a single installation.
- PCI compliant.
- Flexible enough to handle the e-commerce needs of almost any business.
- Allows full control over the resulting e-commerce website.
- Magento web development allows for custom integrations (e.g., synchronization with ERP or CRM systems).
- Suitable for international shopping by meeting country-specific needs.
- Allows online businesses to sell high-risk or controversial items.
- Can integrate with Amazon, eBay, Walmart, and Rakuten.
That said, the platform does require competent administration and development—something that may be out of reach for startups and small businesses, depending on their needs and the resources they can dedicate to future projects.
While it does carry a license fee, Adobe Commerce may be better suited for highly involved, large-scale projects because of its enterprise-level capabilities that provide more robust functionality and security solutions out of the box. It could also be the right choice for e-commerce businesses that prioritize scalability and need to be prepared for especially rapid growth. Building your e-commerce store’s site through Adobe Commerce can also streamline data analytics operations through integration with Adobe Analytics and the Adobe Real-Time Customer Data Platform through Adobe Experience Cloud.
However, for those already confident in their choice, the next step is knowing how to hire a developer who will meet their business needs.
Magento 2 Technology Stack
Like Magento 1, Magento 2 is not a programming language but a platform. It’s built on the following web development technologies:
- PHP
- MySQL
- HTML
- CSS (and the Less CSS preprocessor)
- JavaScript (and jQuery, the primary JavaScript library)
- RequireJS (the library that helps load JavaScript resources on demand)
- Knockout.js (which simplifies JavaScript user interfaces with the model-view-viewmodel [MVVM] pattern)
- Third-party core frameworks and libraries (e.g., Laminas and Symfony)
However, if you want to be successful, it’s not enough to hire a developer who knows those technologies. As in any other field, the level of experience matters. Even a simple project’s local setup can be challenging without experience—hence the importance of Magento certifications, which are covered below.
As a popular e-commerce solution, the platform is huge and very powerful. It has its own rules and best practices. But so do the technologies it’s built upon. For example, Magento experts will be in the habit of conforming to PHP coding standards like PSR-0 (autoloading standard), PSR-1 (basic coding standards), PSR-2 (coding style guide), PSR-3 (logger interface), and PSR-4 (autoloader).
Magento 1 and Magento 2 Are Significantly Different
It’s worth highlighting that there are two completely different versions of the software. This means that when choosing an e-commerce developer, both the developer and the client must be clear about which version is specified according to business and project requirements. Magento programmers with knowledge of only the older version will need quite a lot of time to upskill and reach a degree of advanced understanding that will facilitate their seamless integration into an experienced team that already uses this version.
Greenfield e-commerce projects should start with Magento 2. Despite still having a significant installation base, version 1 is now considered a legacy technology. Many companies have projects underway to migrate their e-commerce retailer sites to the newer version.
Platform Migration
Magento 1 officially reached its “end of life” date, which means that the core development team no longer provides updates. If you are looking for a developer for a migration, it is essential to find one with experience using both versions.
When it comes to migration, there are three main topics to discuss.
Theme Migration
Magento themes would need to be migrated manually. This means full theming development from scratch unless the theme in question is available for both versions. In this case, it’s as simple as getting the new theme version and installing it.
Module Migration
Modules purchased from third-party vendors most likely already have updated versions, so this should also be as simple as installing the new version. Custom-developed modules would need to be migrated manually.
Database Migration
Databases must also be migrated, but there are available scripts to accomplish this task. A developer just needs to configure and execute them. There are also scripts for delta updates, which means that after the main database migration, programmers can run separate commands to synchronize only products, orders, and customers (i.e., the data that is constantly growing/changing). These allow e-commerce stores to run both versions simultaneously, performing a delta update during the go-live process and actual switchover.
The Hiring Process: Candidate Requirements
When looking for certified Magento developers, there are quite a few things worth considering, including whether you’re looking for a freelancer to fill a temporary role or a candidate who will occupy a full-time position on your dedicated team. Besides the technology stack mentioned earlier, one of the first things to look at is whether the candidate’s specific Magento certifications or related Adobe Commerce certifications complement the needs of your existing team. Let’s have a quick look at the main certifications, which are easy enough to verify. Unless otherwise noted, the following list comprises certifications for Magento 2.
Update: The Magento 2 certifications listed below are still useful, but interviewers might see more candidates with Adobe’s even newer certifications. Many of them don’t have a direct equivalent to each of the below specializations but are described in detail on Adobe’s site. Certifications most applicable to Adobe Commerce back-end developers are Developer Professional and Developer Expert, and the certifications geared toward Adobe Commerce front-end developers are Front-end Developer Professional and Front-end Developer Expert.
Solution Specialist
This certificate is oriented toward knowledge of the admin panel and understanding of business processes. It’s not geared toward code customization; developers usually obtain it to gain a better understanding of the business processes and built-in features, not development itself.
Such certification is a sign of technical competency, especially when you are looking for a certified Magento 2 developer to advise and guide you in Magento store development decision-making.
Professional Front-end Developer
The front-end developer exam validates theming and user interface (UI) skills. It is recommended for companies seeking candidates to work with the platform’s user-facing parts, including both user interface and user experience components.
Associate Developer
The associate developer exam is for developers just starting their development journey. This certification covers all main areas, such as the front end, back end, and database. The candidate with this certificate will have a basic understanding of common customizations and best practices.
Professional Developer
It’s not easy to find many dedicated developers with this certification. Companies can assign very complex tasks to such a developer and rely on their expertise to deliver high-quality results based on their wealth of experience.
Professional Developer Plus
This certification is similar to Professional Developer, but the exam includes Magento Commerce customization questions. Professional Developer Plus certificate holders are senior developers, often with many years of experience, who can lead your project and engineer customized Magento solutions to solve a wide range of problems of any complexity.
Professional JavaScript Developer
It’s not the most popular certification, but it’s still good to have. JavaScript is heavily used in the checkout process. For companies looking for a certified Magento 2 developer to customize their checkout, the fact that a candidate has this credential should inspire confidence.
How Can You Identify the Ideal Developer for You?
It’s important to note that there is a fine line between front- and back-end developers. Developing a Magento 2-based front end also means dealing with the back end to develop blocks, templates, and layouts. Hiring a front-end developer who is only an expert in stylesheets and JavaScript will result in struggle and potential disruption to business processes. Make sure that the candidate has a basic knowledge of the platform’s back end.
When lining up requirements for a developer role, it’s best to separate Magento website development from support. Candidates focusing on support should definitely be Magento e-commerce experts; certified Magento developers are recommended. This is especially true in cases with complex project requirements where extensive experience and ongoing support are needed. The software has quite a complex structure and many dependencies that the developer should be aware of; support requires an advanced understanding of ongoing and interdependent processes to ensure that fixing one bug won’t create another. Effective troubleshooting begins with an accurate idea of the problem at hand, and it’s very easy to go in the wrong debugging direction if you do not fully understand how it works.
The support developer should also be a DevOps engineer. This means that they should have basic knowledge of server setup and administration as well as performance optimization techniques. There might be cases when your live e-commerce site goes down, and a support developer should be capable of dealing with it in addition to any ongoing maintenance that is required. For unplanned jobs, where support developers need to act fast to meet e-commerce business needs, you will definitely want to have professionals with many years of experience on the Magento platform at your disposal to resolve issues efficiently.
In contrast, feature development requires a bit less overall knowledge of the architecture. When building a module, dedicated Magento developers already know what parts of the Magento core the module will modify or extend. With this information in mind, it will be easier to decide which candidate in your talent pool is the best fit based on their previous experience and skill set. Because unexpected events can cause a Magento e-commerce site to go down, you will need a support developer who is prepared to handle anything at a moment’s notice.
In selecting a developer, it’s a good idea to observe candidates in action to verify that they possess the essential skills they’ll need to contribute ongoing support to your projects. With a senior developer on board, a small pair programming session is a good way to review and see whether the candidate will fit the Magento web development team. Tasking the candidate with some minor module development is usually sufficient to evaluate their local setup and development techniques.
Alternatively, companies can request modules that the candidate developed and is proud of so that the hiring manager can review them, see the code, and walk through them on a call with an in-house Magento 2 developer.
What Are the Most Important Magento 2 Developer Interview Questions?
These questions will help ensure candidates have the right type of experience, as well as a deep understanding of relevant concepts. The interview questions below are relevant to both Magento 2 and Adobe Commerce, and every worthwhile candidate should be capable of answering them. Please note that unless otherwise specified, this set of questions is oriented toward Magento 2.
Describe the key architectural differences between Magento 1 and Magento 2.
This is a good question for candidates who are familiar with both versions. A qualified candidate’s response would touch on most of the following points, if not all.
Note: The differences that every developer should be able to list are marked in bold.
-
Folder structure changed (everything now placed under the app folder)
- Dependency injections added
- Composer package management added
- Support for the latest PHP versions (8.2 and 8.3)
- CSS preprocessor (Less)
- Full page caching
- RequireJS and Knockout.js added
- HTML5 and CSS3
- Command line interfaces added for clearing the cache, reindexing, etc.
- Symfony (a third-party library in version 1) is now part of the core of Magento 2
List the Magento 2 technology stack.
Note: Parts of the tech stack that every developer should be able to list are marked in bold.
- PHP
- MySQL
- HTML5
-
CSS3 (and the Less CSS preprocessor)
- JavaScript (and jQuery, the primary JavaScript library)
-
RequireJS (the library that helps load JavaScript resources on demand)
-
Knockout.js (which simplifies JavaScript UIs with the model-view-viewmodel pattern)
- Third-party core libraries (e.g., Laminas and Symfony)
List Magento 2.3 server requirements.
Note: Server requirements that every developer should be able to list are marked in bold.
- Linux
-
PHP >= 7.1
- Database: MySQL, MariaDB, or Percona
- Web server: Nginx or Apache
- Redis (optional)
- Varnish (optional)
- Elasticsearch (optional)
- RabbitMQ (optional)
How would you extend a public method from a third-party module?
Magento 2 introduced a new way of extending public methods, called plugins, of which there are three types: before, after, and around. If interviewers don’t hear the word “plugin” in a candidate’s answer, it should be considered a red flag.
How would you overwrite a JavaScript component method?
Some developers simply copy over (override) JS files and then change them, which is a bad practice that is very common. Best practices recommend that developers modify the core as little as possible.
When developers copy over a whole file, the copied file may override or otherwise become incompatible with any changes in future releases.
When overwriting a component method, the best practice is to create a mixin, which would overwrite only one specific method. That said, it’s most important to hear that the developer is familiar with a customization technique that doesn’t involve overriding the whole file when they need to modify only one method.
What problem could be caused on a store’s front end by defining the attribute cacheable="false"
in an XML <block>
element?
Adding this tag to any <block>
on the page makes the whole page noncacheable. Adding such a tag on a homepage would dramatically impact page loading speed. However, this tag is normally used on product comparison, cart, and checkout pages to ensure that such pages are not cached. A strong candidate will know that this tag should be used very carefully.
What is the important part about templates and multistore development when it comes to multilanguage compatibility?
When asked about multistore and multilanguage compatibility, the candidate should mention that the main concern would be to make sure that strings are translatable. Adding custom strings into templates without making them translatable for other online store views is a common mistake.
How do you make sure your code fits coding standards?
Expected answers would include reading documentation, following best practices (the Magento Coding Standard), and configuring their code editor to make automated code checks. Key words to listen for in the candidate’s response include Magento-prescribed PSR code compliance and usage of PHP_CodeSniffer. If a developer doesn’t mention PHP_CodeSniffer, their back-end code most likely won’t match established standards.
How do you debug PHP code?
The most popular tool is Xdebug. If a candidate suggests using the PHP function var_dump
, they will most likely spend far too much time with debugging—especially on support tasks where proper debugging is a must.
It is not necessary to use Xdebug alone (there are other debugging tools as well), and sometimes it can be combined with PHP debugging functions.
The main point is to understand whether the candidate is familiar with Xdebug and is actively using it.
List invalid use cases for a Magento 2 plugin.
Magento 2 plugin usage is limited. It can’t be used for:
- Final methods and classes
- Non-public methods
- Class
__construct
methods
- Virtual types
It would be acceptable to hear that plugins can be used only for public
methods since that is the most popular phrasing of this rule. A developer should definitely know this—they’ll need to use it very frequently when customizing Magento. The other uses listed are rarely encountered.
How would you override a Magento 2 core class’s public
or protected
method when plugins and observers are not an option?
When observers and plugins are not an option, the best Magento 2 developers use preferences. Preferences are declared in di.xml
files and can be scoped to the front end and/or back end.
Preferences are mainly used with protected
or private
access methods since plugins can be created only for public
methods.
Sometimes, developers have to use preferences—for instance, in the event that they need to inject some functionality in the middle of a method. This is because plugins are mainly used to modify method parameters and returned values.
Preferences are considered a last resort, as they completely override a method and reduce system upgradability.
Describe the purpose of (and sole use case for) view models.
This is all about injecting custom Magento functionality into templates. Since version 2.2, developers have been able to use view models to do so. Before that, the main way was to create helpers.
The best practice is to use view models instead of creating new block types.
What problem could you face by running setup:upgrade
in production mode, and how can you avoid it?
This command would clear out compiled code, which, in production mode, needs to be manually recompiled using other commands. Cleaning generated content without immediate recompiling would completely break the front end and back end.
When developers need to execute setup:upgrade
while ensuring that generated content stays put, they must add the flag --keep-generated
, i.e., setup:upgrade --keep-generated
.
What has changed since Magento 2.3 with regard to database update scripts?
Version 2.3 introduced declarative schema and data/schema patches.
Declarative schema allows you to simply create a db_schema.xml
and define table parameters there instead of writing long database CREATE
methods in InstallSchema.php
.
Data/schema patches introduced a structured way of applying database changes, since every logical part of the change is handled in its own patch. Previously, developers created lengthy mixed UpgradeData.php
scripts.
What is a service contract, and what is its purpose?
Service contracts are module-defined PHP interfaces. The main purpose is to define strict communication rules to ensure that other modules can implement them. They also make it easier to configure a service as a web API.
For the less-technical interviewer, the answer here could be quite complicated to evaluate, but hearing key mentions of “PHP interfaces” and “web APIs” is a good sign.
Hire Magento 2 Developers Based on Specific E-commerce Store Needs
Defining your company’s e-commerce store development needs is the first step in understanding what you are looking for in a candidate and which areas they should be experienced in to meet your business requirements.
Both Adobe Commerce and Magento have very broad functionality, and it is easy to bungle an e-commerce development project. The development process typically does not succeed with a “cheaper pricing is better” mentality. Bad code will lead to performance issues, reduced maintainability and scalability, and a poor customer experience—which will cost companies in lost sales—and will guarantee future upgrade and compatibility problems.
Screen well, and top-notch e-commerce specialists and developers will be much easier to find.