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, built on Magento 2, remains available for those who need only basic e-commerce development services.
The Adobe Commerce and Magento communities are full of skilled 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. But when it comes to customizations, a company needs to make sure that it has dedicated Adobe Commerce (or Magento) 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 an Adobe Commerce or Magento project with poorly written code.
Those trying to cut costs too much will end up paying twice—this is especially true in the context of Adobe Commerce or 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 Magento is so popular:
- Magento has a large community.
- Magento is highly scalable and customizable.
- Magento allows multiple e-commerce websites on a single installation.
- Magento is PCI compliant.
- Magento is flexible enough to handle the e-commerce needs of almost any business.
- Magento allows full control over the resulting e-commerce website.
- Magento web development allows for custom integrations (e.g., synchronization with ERP or CRM systems).
- Magento is suitable for international shopping by meeting country-specific needs.
- Magento allows an online business to sell high-risk or controversial items.
- Magento can integrate with Amazon, eBay, Walmart, and Rakuten.
That said, Magento 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 of Magento, the next step is knowing how to hire an Adobe Commerce or Magento 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 an Adobe Commerce developer (or Magento developer) who knows those technologies. As in any other field, 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, Magento 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 Versions: Magento 1 and Magento 2 Are Significantly Different
It’s worth highlighting that there are two completely different versions of Magento. This means that when choosing an e-commerce developer, both the developer and the client will need to be clear about the Magento version to be used in keeping with business and project requirements. Magento programmers with knowledge of only Magento 1 will need quite a lot of time to get familiar with Magento 2 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 definitely use Magento 2. Despite still having a significant installation base, Magento 1 is now considered a legacy technology. Many companies that do use Magento 1 have projects underway to migrate their e-commerce retailer sites to Magento 2.
Migration From Magento 1 to Magento 2
Magento 1 officially reached its “end of life” date, which means that the core Magento team no longer provides any updates to it. Developers have focused on Magento 2 for some time now, leaving Magento 1 behind.
If you are looking for a developer to migrate to Magento 2, the key is that Magento 2 migration requires knowledge of and strong experience with both Magento 1 and Magento 2.
When it comes to Magento 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 also available for Magento 2. In this case, it’s as simple as getting the new theme version and installing it on the Magento instance.
Module Migration
Modules purchased from third-party vendors most likely already have Magento 2 versions, so this should also be as simple as getting the new version and installing it on the new Magento 2 platform. Custom-developed modules would need to be migrated manually.
Database Migration
Databases must also be migrated, but Magento already has scripts to accomplish this task. A developer would need to configure and execute them. There are also scripts for a delta update, which means that after the main database migration, Magento programmers can run separate commands to synchronize only products, orders, and customers (i.e., the data that is constantly growing/changing). These allow a site to run both versions simultaneously and perform a delta update during the go-live process and actual Magento website switch.
The Hiring Process: Candidate Requirements
To find great Magento- or Adobe Commerce-certified 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.
Update: The 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.
Magento 2 Solution Specialist
Note: There is also an equivalent Magento 1 Solution Specialist certification.
This certificate is oriented toward knowledge of the admin panel and understanding of business processes. It’s not geared toward Magento code customization; developers usually obtain it to gain a better understanding of the business processes and Magento’s built-in features, not development itself.
Such certification is always a great addition to developer competencies, especially if you are looking for an engineer who can advise and guide you in Magento store development decision-making.
Magento 2 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 Magento’s user-facing parts, including both user interface and user experience components.
Magento 2 Associate Developer
The associate developer exam is for Magento developers who are just starting their Magento 2 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 Magento customizations and best practices.
Magento 2 Professional Developer
Note: There is also an equivalent Magento 1 Professional Developer certification.
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 them as Magento 2 experts who will deliver high-quality results based on their wealth of experience.
Magento 2 Professional Developer Plus
Note: There is also an equivalent Magento 1 Professional Developer Plus certification.
This one is quite similar to the Magento 2 Professional Developer certification, but this exam includes Magento Commerce customization questions. Professional Developer Plus certificate holders are senior developers, often with a good many years of experience, who can lead your project and engineer customized Magento solutions to solve a wide range of problems of any complexity.
Magento 2 Professional JavaScript Developer
It’s not the most popular certification, but it’s still good to have. JavaScript is heavily used in the Magento checkout process. For companies looking for a certified Magento 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?
When it comes to Magento, there is a fine line between front- and back-end developers. Developing a Magento-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 Magento back end.
When lining up requirements for a developer role, it’s best to separate Magento website development from support. Magento support developers should definitely be Magento e-commerce experts; candidates with at least a professional developer certificate are recommended, especially in the case of complex project requirements where extensive experience and ongoing support is needed. Magento 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 with Magento, 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 Magento 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 Magento architecture knowledge. 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 on 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 Magento 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 senior developer.
What Are the Most Important Magento or Adobe Commerce Developer Interview Questions?
These questions will help ensure candidates have the right type of Magento or Adobe Commerce experience, as well as a deep understanding of relevant concepts. The interview questions below are relevant to both Magento and Adobe Commerce, and every worthwhile Magento or Adobe Commerce developer should be capable of answering them. Please note that this set of questions is mainly oriented toward Magento 2.
Describe the key architectural differences between Magento 1 and Magento 2.
This is a good question if your candidate is familiar with both Magento 1 and 2. A qualified candidate’s response would touch on most of the following points, if not all.
Note: Differences between Magento 1 and Magento 2 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 Magento 1) now part of the core of Magento 2
List the Magento 2 technology stack.
Note: Parts of the Magento 2 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 in Magento 2?
Magento 2 has introduced a new way of extending public methods, called plugins, of which there are three types: before, after, and around. This is very specific to Magento, and 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 in Magento?
Some developers simply copy over (override) JS files and then change them, which is a common bad practice. Magento 2 best practices recommend that developers modify the core as little as possible.
When developers copy over a whole file, there is a good chance that Magento will make some adjustment in a future release, but the copied file will override it (lacking the new changes) or otherwise become incompatible with changes in the new release.
When overwriting a Magento 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 Magento 2 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. A very common problem is that a Magento developer might add custom strings into templates without making them translatable for other online store views.
How do you make sure your code fits Magento 2 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, it means that their back-end code most likely won’t match Magento standards.
How do you debug PHP code in a Magento 2 app?
The most popular tool is Xdebug. If a candidate answers using the PHP function var_dump, it means they will spend far too much time on your Magento project—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 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 Magento 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 Magento production mode, and how can you avoid it?
This command would clear out Magento compiled code, which, in Magento 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 Magento 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?
Magento 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.
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 Adobe Commerce or Magento areas this person 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. Magento and Adobe Commerce development do 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 themselves will cost companies in lost sales—and will guarantee future Magento upgrade and compatibility problems.
Screen well, and top-notch Magento and Adobe Commerce developers will be a lot easier to find.