Notes for the Magento Front End Developer Certification Test

by on November 14, 2013

The first time I took a Magento certification exam was at the Imagine conference I attended in Las Vegas earlier this year. When I’d registered, they had only developer and developer plus certifications available, which focused on general development in all areas of the community edition and the enterprise edition, respectively. They seem to have debuted the front end exam at the conference, but I didn’t know about its existence until later, which turned out to be unfortunate.

They had a special room set aside for exam takers at the conference. I entered thinking, “Let’s see if I pass,” and within 5 minutes of looking at the actual exam that morphed into, “Let’s see how badly I fail.” This was, literally, the first test that I’d ever take that I actually failed. I would attribute at least ⅓ of my correct answers on that exam to good multiple choice test taking skills, rather than actual knowledge of the correct answer.

From the handful of people we spoke to about it at the conference, it seems like it’s quite common to do poorly the first time. In fact I would say that taking it for the first time just to see what kind of questions it asks without a serious expectation of passing it would not be entirely out of line. They even give you a discount on your next try.

The second time around, I choose to try for the front end certification instead. That was a much better experience, owing to more familiarity with the test’s subject matter and with the test itself, and this time I passed by a pretty wide margin. There doesn’t seem to be too much info on this exam because it’s newer – for a while I couldn’t even get the proper study guide from Magento’s website – so I’m going to share my experience on what kinds of things Magento expects you to know for the exam.

Firstly, it’s a multiple choice test so you’re going to want to brush up on your multiple choice test taking skills. Some of the “choices” are of the “pick all the correct answers” variety. There are going to be a couple of “gotcha” questions, so read carefully. There is probably going to be some nerd humor hidden in a question or two, so try not to disturb the other test takers by suddenly snickering in the middle of a dead silent room. There is some memorization of things that you wouldn’t ordinarily need to have memorized, which personally I am bad at.

1. Design Fallback System

There were a lot of questions on this – Magento really wants you to thoroughly understand the fallback system. Though I don’t think a lot of people will routinely do anything other than create a customized theme based off of the default (at least, I haven’t ever had to), it is fortunately a pretty easy concept to understand.

One thing they didn’t seem to care too much about was adding custom layout xml to CMS pages, categories, etc. which I thought was a bit odd – especially in light of the fact that this is primarily how you’d be handling the design of the store’s home page.

2. Layout XML

This was another big focus which makes sense as this is basically the crux of the whole Magento theme setup. One thing I noticed here was that in addition to understanding the basic concepts, there was a fair bit of outright memorization – asking for the specific names of layout handles, template .phtml files, block types, etc. A good way to prepare for this aspect would be to literally sit and read through the base theme’s xml files to familiarize yourself with what they contain.

A couple of details to pay attention to for this section: there were some questions on syntax (both general XML syntax and Magneto layout-specific syntax); they want you to understand the difference between name and alias; they want you to understand the difference between unsetChild and remove; they want you to understand the difference between some of the basic block types and be able to choose which is the appropriate one to use in different situations; they want you to know how to add CSS and JavaScript correctly, and to know the difference between JavaScript from the root js folder, and your theme’s js folder.

There was not really a lot of focus on declaring blocks in CMS pages (i.e. using {{block}}), or creating blocks via PHP. Personally, I do think it’s important for a front end developer to fully understand the relationship between these 3 things, and to be able to declare any block with any of the 3 methods.

3. Template Files

Other than the obvious questions about what they are, where they are, using them in conjunction with the fallback system, and so on, there were a handful of questions about Magento’s preferred convention for PHP usage in the .phtml files. This is something to keep an eye out for, since unlike a lot of the other concepts, doing it “wrong” doesn’t result in an error so much as it results in you not knowing the correct answer on the exam. Not that that happened to me, of course. Ahem.

4. Translations

Kind of like the design fallback system, you should understand the various methods of translation and which ones are prioritized over others. All the details of setting up a multi-language store aren’t going in here, as it is mainly focused on getting the template to display the right words.

5. Multi-store / Multi-Website

Like the translation questions, these questions are mainly about this aspect of Magento as it relates to the themes (and not, say, entering different product descriptions for different stores). They do want you to understand the basic concept of what is a store vs. what is a website, where are the (design-related) settings for these in the back end, and how settings for specific stores or websites factor into the design fallback system.

This is a feature of Magento that we don’t really use at Inverse Paradox, since we’ve never had clients that needed it (yet). Most of my understanding of it is theoretical rather than practical and I did have to sit and think about these questions a bit.

6. Javascript

And by Javascript I mean Prototype. When Magento started out, Prototype was just one among several Javascript libraries, but since then all of them have been pretty much eclipsed by jQuery and consequently many developers (myself included) may not be familiar with Prototype. Do make sure you understand the basics, because the exam’s questions are more about the library itself than about plain vanilla Javascript.

7. CSS

Finally, there were a couple of questions about straight CSS. These were mostly on the “fallback” aspects of CSS, going with the exam’s focus on that concept.

One thing that was notably missing from the exam was any questions relating to the actual block PHP files. I had been curious about whether or not this would be included – it can be hard to know where to draw the line between “front end developer” and “developer”. Magento (for the purposes of the exam at least) draws it at anything outside the app/design or skin folders. While this isn’t something that needs to be studied for the exam, I do think a good front end developer should be familiar with these, even to the point of being able to create custom blocks if need be.

Although I am rather dubious of the value of some of the more memorization-focused questions, I will say that the certification exams overall appear to be a good representation of a developer’s practical experience with Magento. Probably about 90% of my development work with Magento has been related to either theming or data import, and the number of things I had little hands-on experience with became abundantly obvious once I started the regular certification exam. Compared with that, I found the front end exam much easier, since I have so much more practical experience with the front end aspects. These are definitely not exams you can expect to pass by simply reading through a bunch of study guides without actually having any practical experience – even if your only practical experience comes from doing things solely to learn about them.

If you’re looking for Magento Services, give us a call!

 

, , , , , , , ,

Share This Post