[11/12/13] Note: Updated to reflect new MCD numbers
Certification is a difficult process for any industry, nevermind software development. There is no way that 75-85 questions can really assess the validity of someone's skills. It's even more difficult in the technology space when trends in software and advancements in technology continue to redefine best-practice.
Recently I acquired my third Magento certification and --- being this is now my third time around the block -- it became readily apparent to me how broken the process of skill verification really is.
Case in point: The first question posed to me was in essence a trick question, with 3 of the options being so slightly dissimilar that it took me 5 minutes of staring at it before I had to make an educated guess. Now - I don't claim to be any sort of expert in Magento - but as someone who builds on the platform daily (and has been developing on it for 6 years) these types of tricks do little more than sus out who studied and who didn't.
Let's take up the topic of study.
I'll admit - I have not studied for any of the 3 exams. Admittedly, I passed all of them, but narrowly. To my recollection I scored a 50% (just below passing) on the beta Magento Certified Developer (MCD) exam at Innovate 2011. After they threw out some questions in the exam I must have made the grade. I honestly don't know what questions or sections I passed or failed.
On the Frontend Developer (FED) Exam I did slightly better: scoring in the 70% range. However, on this recent Magento Developer Plus (MCD+) Exam, I scored a 63% -- and barely escaped failure by scoring the minimum 7 out of 15 for sections 11 & 12 (Enterprise Edition-focused section).
In the end I realize I could have increased my score if I had studied. But what would I have studied, exactly? A lot of material that is useless in everyday Magento work.
For example, 4 questions on the MCD+ revolved around working with controller rewrites - that's nearly 5% of the test devoted to making sure I know how to implement an anti-pattern. I continue to fight against developers (especially Extension developers) using controller rewrites. For reasons that are off-topic for this blog post I believe they cause more problems than they will solve and they should be used as a last-resort.
Another nitpick I have is the focus on the
Enterprise_Rewards module for the MCD+ exam. Many questions revolved around which method or class is responsible for calculation of points. I find this kind of specific knowledge useless in general - moreso when regarding this particular module.
On the other hand, I was surprised to encounter numerous questions on the FED exam that were assessing Prototype JS skills. One of the questions in particular was a trick question that mixed jQuery selector notation along with Prototype notation; so let that be a word of caution to those taking the test who are quick to add jQuery to every project.
But - this is my question:
This is what qualifies a top-tier Magento developer?
Of course not. I haven't met a hiring manager (and, for that matter, I used to be one) that sees certification as a comprehensive skills evaluation. So what is it good for, then? Demonstrating commitment to the platform.
Right now there are purportedly some
less than 1000 2000 total MCD/MCD+ in the Magento ecosystem. Meanwhile there are over 200,000 Magento installations worldwide. I will spare you the fuzzy math: we have a shortage of developers that are dedicated to the platform and an over-abundance of partners that are hoarding them or otherwise helping to inflate the number. And you can't blame them because partnership is so closely tied with the number of certified developers on staff. I totally understand (and am tempted by) the rationale to get a Wordpress developer to study and become an MCD/FED for the pure numbers alone.
We need specialists
Certification for me is like collecting Pokémon. I wanted my MCD+ because of the cache, sure; but part of me feels like that even given 90% overlap with the MCD I probably would have gotten both anyway regardless of the order in which I took the tests.
What's more, there is no benefit to Solution Partners for developers having multiple certs.
So why, then, would I bother? I just want to be the best developer I can be. I also want to demonstrate loyalty to the platform that has made me so very successful in my career -- not too bad for this theological seminary dropout-turned Christian Rocker-turned developer.
Let's start moving the thought away from certification actually qualifying skills (and remember: some of those skills are probably not worth having) and instead think of certification as someone who bothered enough to invest time in their career to specialize.
If we had more PHP developers that were sold on the idea of working with metric tonnes of XML they wouldn't be PHP developers, they'd already be .Net developers.
With Magento you tend to find yourself way in over your head, and way too fast. Developers get scared off pretty quickly -- and talented ones, too. I think that we need to do a better job as a community to curate learning and knowledge sharing. The Magento StackExchange beta is going a long way toward helping define what "best practice" means in the community - and I'm happy to say that I have a voice in that discussion. But we need more technical blogging, open-sourced modules, screencasts. We need more voices worth hearing that are committed to helping others make the decision to take the career leap into Magento.
If we re-define as a community what learning tools are available we'll begin to shape the standards of best-practice. If we do that, we can effectively begin to feed back to the powers-that-be what defines a Certified Developer.
And - if you're thinking of getting certified; do it!
But make sure to study.