Despite being open-source, Magento is considered to be one of the more complex ecommerce platforms. Compared to Shopify or OpenCart, Magento offers far more in terms of SEO, customization, product types, order and shipping automation, coupons, gift codes, and a long list of other features.
But these powerful capabilities go hand in hand with complexity. Although using this platform for small day-to-day tasks may seem easy, if your goal is to plan, develop, and maintain a full-fledged ecommerce website, you will almost certainly require the skills of an experienced Magento programmer.
With this in mind, we’ve collaborated with Alexandr Tiganov, a Magento developer working for one of our clients, to bring you expert interviewing tips and questions that will help you identify a true Magento guru in a sea of Magento mediocrity.
Before the Interview
The whittling-down process should start long before you actually invite anyone to an interview. Start by taking a very careful look at the resumes of the Magento developers for hire who seem like they could be worth your time, and analyze the list of technologies they claim to know. There are a few red flags to look out for at this stage.
If the candidate lists too many irrelevant skills, like After Effects or MS Word, this could mean that their knowledge of Magento simply isn’t deep enough, and they’re trying to compensate for their lack of expertise with an eclectic mix of competencies that have nothing to do with the position you’re offering.
This could also be a sign that the candidate didn’t bother to read the requirements given in your job posting and tailor their resume accordingly, which means they might not actually be all that interested in your Magento developer position anyway.
The other thing to pay attention to is the duration of the candidate’s previous employments. You don’t want to end up with a job hopper who’ll leave you in a month or two, especially if you’re going to invest in additional education or organize on-the-job training for the successful applicant.
No one is safe from an unfulfilling job that leads to quitting shortly after being hired, but if the tendency of coming and going in under a year is very evident in a candidate’s resume, don’t risk and look elsewhere.
Evaluating the Technical Acumen
Once you’ve managed to pinpoint a handful of Magento programmers whose skills look good on paper, it’s time to invite them over for a chat and evaluate their technical prowess.
What follows is a list of things that a Magento developer is expected to know (depending on their level of seniority) as well as some sample questions you may want to give a try.
Remember that starting with the basics is never a bad idea, regardless of how experienced the programmer you’re interviewing is. However, keep in mind that you don’t want to bore a senior Magento engineer with too many simple questions.
Likewise, try not to scare off a promising junior developer with tasks that are too advanced for their level. Make sure that as you go, you adjust the complexity of your questions according to the expertise the candidate is displaying.
Junior Magento programmers should be well-versed in the code structure of Magento, and know the general models and methods of working with it. More specifically, they should definitely know how to rewrite code models, use observers, and edit layouts. Apart from that, a good junior Magento programmer understands how to approach themes. This includes the knowledge of how to create new themes, and what the theme fallback algorithm does.
- What code pools does Magento have? In which code pool do you create a custom module?
- What is EAV structure? Which models have this? What are the advantages and the disadvantages of EAV?
- What steps will you take to create a new design theme for Magento?
- How can you process a Magento observer?
- What are collections in Magento? How do you use them?
- In what cases can you edit core files?
- What types of cache does Magento use? Why does Magento use cache? How can you flush cache programmatically?
What will help you tell apart a middle Magento developer from a junior one is the former’s experience with different types of modules and code optimization for improved performance.
- How are module/database upgrades organized?
- What is the best way to override a method from the Magento core model?
- How do you use logs and profilers in Magento?
You’ll know that the candidate you’re interviewing is a senior Magento engineer if, in addition to all the things mentioned above, they also know how to speed up a website, quickly locate and solve issues, estimate tasks, and distribute workload among team members.
- What are some of the most difficult projects you’ve worked on?
- What part did you play in these projects?
Checking Code Quality
Despite the fact that Magento is more than a CMS, but less than a framework, it has its own objects, models and methods, and in most cases, when you want to get some data, there’s no need to use Direct SQL queries instead of standard Magento methods. Bad Magento code often makes use of Direct SQL to access a database, which is why you should always review candidates’ code samples.
Not that Direct SQL in Magento code is inherently bad, however, cases in which its use is justified are quite rare. Therefore, if you do find it in a presented code sample, make sure the candidate can confidently make a case for their use of this approach. If they can’t, they’re far from being an expert.
Other Things to Consider
One proven way to hire a Magento programmer who is a true master of their craft is to hire someone who’s earned a Magento Certification. If the candidate you’re interviewing is Magento Certified, you can be sure they know their business and are serious about their career.
Bear in mind that the Certification is quite pricey, and not every engineer will have the motivation or the resources to invest in it. As such, it’s better to think of it as a nice bonus, and you should definitely not discard candidates who aren’t certified yet.
Another good way to check your candidate’s level of expertise is to find out what they know about Magento 2. Although most websites are currently built with the original version, Magento 2 is growing pretty fast, and since you’ll have to make the move sooner or later, it makes sense to hire a Magento programmer who has at least some working knowledge of the newer version already.
We hope that you found the tips and sample questions above to be valuable aids in identifying talented Magento engineers and that they’ll serve you well once you incorporate them into the larger context of your recruitment strategy.