33

Firstly I would like to say that I hope I am not posting in the wrong place with this question and if I am please advice me of where (if anywhere in the stackexchange world is appropriate) I should post it.

I have a couple of interviews coming up for junior Magento developer positions. I have some Magento development experience but I never did an interview for these jobs so I am not sure what to expect.

I would appreciate all comments and answers and I think this post could potentially be very helpful to other junior developers trying to break into magento

  • 7
    I think this is completely off topic but I cannot refrain from commenting. Expect this: inchoo.net/wp-content/uploads/2010/01/inchooers1.jpg – Marius Sep 19 '13 at 17:12
  • Sorry if it is off topic!! In response to your link, I know enough about magento to get the joke but I would probably have the same expression as that guy after 3 hours too :) – develophper Sep 19 '13 at 18:28
  • Sorry if this is leading everyone off topic! I would also start by expecting the Dev to know at least the items in the FED test. I Would also give them a dead line to pass their tests – brentwpeterson Sep 19 '13 at 22:48
  • 1
    The "correct" answer really depends on the expectations listed for the job; I have no intent to hire a Magento developer, as "available" Magento developers are as rare as white elk. Hire a good developer first, and pay them for Magento experience they demonstrate in the interview. There are some excellent answers here which cover all the bases, so I don't need to add. – benmarks Sep 20 '13 at 11:38
34

When I'm interviewing candidates, and in particular junior candidates, I first assess whether they're going to be good developers. Nevermind Magento.

So you would hear a lot of generic, non-Magento, questions from me up front. Here are just a few:

  • Explain the difference between a map, a hash, an array, a collection, and a list.
  • Explain what you think "inheritance" means, and give me an example that doesn't involve cars or family members.
  • Name 3 types of security vulnerabilities that are commonly introduced by unfiltered user input.
  • Explain what a prepared statement is and what it does.
  • What is your favorite new feature in PHP 5.5?
  • Name at least 3 major PHP frameworks.
  • What is the difference between a function declaration and a function expression?

Some non-technical questions:

  • Tell me the last time you made a mistake that cost a company or client money, and:
  • What did you learn from your mistake?
  • What do you do to keep current on technologies?
  • What are you learning in your off-time?

Then I might ask them to do a code review with some of their work on Github or something they've submitted; we might do some whiteboard exercises like Fizzbuzz, maybe a selection from Project Euler... something to that effect. I'm just trying to mix it up here and see how they deal with problems they may not have encountered.

If I'm satisfied and I know that the candidate has Magento experience I might ask more specific Magento questions:

  • How does Magento MVC differ from classical MVC (or Zend Framework MVC)?
  • Name 3 types of Magento Models
  • Describe or give me an example of Magento code pools and/or theme fallback
  • When is it okay to make a core modification? (answer: NEVER.)
  • List at least 3 techniques to override default/core functionality.

At this point I may ask some really hard questions or have them sketch out something for me - maybe the checkout flow of Magento. I may have them describe all of the subfolders in a Magento Extension. I might ask them what abstract models to extend for desired functionality.

I hope this helps - the hire process is difficult for both parties at the table. In my first round of hiring my first time out I phone screened over 75 applicants, sifted through 500+ resume submissions and whittled it down to 2 or 3 in-person interviews. None of them worked out - so, in my case, when you're sitting across the table from me I'm rooting for you! I want you to make it! I want the torturous process of the hiring phase to end so we can do what we do best - build awesome products.

The trick is to keep it light and make it a useful and at the least an educational experience for the candidate.

  • 9
    "When is it okay to make a core modification?" - when you are magento core developer? :) – Dmytro Zavalkin Sep 20 '13 at 18:03
  • 1
    Even then... maybe not :) – philwinkle Sep 20 '13 at 18:05
  • 3
    phil, for me it is ok, when it fixes an error the same way, the next version does, aka backporting the fix. – Fabian Blechschmidt Sep 22 '13 at 9:12
  • @FabianBlechschmidt was going to say the same thing. I recall a fix that was added to a new version of EE. The client needed this simple fix but wasn't prepared to update their entire store. Even then, I will still leave a short text file explaining the change with which file is changed, line #, etc. – pspahn Sep 22 '13 at 21:46
  • Why does a Magento dev need to be able to solve complicated mathematical puzzles? – Guerrilla Jan 7 at 10:37
11

Based on the discussion I had with Magento partners (note: i have not interviewed developers myself), below are couple tips:

1) Don't look for Magento developers. Find good OO PHP (or Java, I've heard success stories of getting Java devs do Magento) developers and train them. We also have some people in house that moved from Java to Magento and they don't have the bad habits of typical PHP devs.

2) Never use an external hiring company - they won't find anyone and they do not know what they are doing (ie they chase me because i work for Magento and i was a developer long time ago - but i'm not a Magento developer)

3) Not sure what is your role/company. If you want to do development, yeah look for people. However if you are a merchant or need to do just one project, consider going with some experienced partner instead.

4) Get @benmarks to answer - he is running internal training for new hires at BlueAcorn and hopefully can share some good insights

  • 1
    A good point about Java devs. I think a lot of them have worked with stuff like XSLT which should help them grasp Magento's layout system. – pspahn Sep 22 '13 at 21:56
9

The first question you would probably expect is something along the lines of:

Here's a default installation, now remove the "Back to School" block from the home page using local.xml.

You mights also find something such as:

Find out why the default checkout process is not performing the way it should. (hint, check for javascript errors in console).

After installing a third-party module that modifies how product images are displayed, the product view page is missing another feature generated by a separate third-party module. What is the first step to debug this? (hint: 'depends').

The customer would like a space on the home page where they can easily modify content without having to deal with much 'code'. How would you implement this?

I personally saw all of these questions during an interview.

And then, of course, expect some questions regarding common Magento mistakes during development (clear cache, reindex, base_url mistakes, etc). If you nail everything, expect some more difficult subjects (EAV, class rewrites, updating a block via AJAX).

Depending on who you're interviewing, it might be enough to just have a good understanding of a few basic areas of Magento (layout XML, working with templates) since the first months of your employment may likely involve fixing random frontend issues on random sites. If you're relatively new to Magento and find yourself hired as a jr developer, expect to do a lot of on-the-job learning.

8

I was thinking of posting the same questions! I created a list based on the FED study guide, I have shared it as a Google Doc, if anyone wants to comment I would be interested in hearing what you have to say

https://docs.google.com/document/d/19iMKDOFBwYpq6wDQBknT8u5kDYFh7DssdjBDPTTsHwA/edit?usp=sharing

1

Just found this page containing many magento interviews questions:

Common Magento interview questions and answers

0

Here is collection of question and answer for interview

http://magentotutorialbeginners.blogspot.in/2014/03/magento-interview-questions-and-answers.html

0

Below are the collection of magento interview question :

  1. How to get CMS page id in Magento?
  2. Difference between Up-sell, cross sell and related products?
  3. Can a custom module have more than one namespace?
  4. Difference between Controller and controllers module?
  5. Request Flow
  6. Magento : File permissions needs to be set
  7. Where is the relation between configurable product and it’s simple product stored in database?
  8. What are the commonly used block types? What is the special in core/text_list block type.
  9. Explain different types of sessions in Magento (e.g. customer/session, checkout/session, core/session) and the reason why you store data in different session types?
  10. Is it mandatory to give Namespace while creating custom module in Magento?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.