ZCE 5.3: Worth Doing?
Note: This article was originally published at Planet PHP on 14 December 2010.ZCE 5.3 certification. I've been a Zend Certified Engineer (5.0) for nearly 3 years, and I know a lot more about PHP today than I did then. Today I speak and write various things related to PHP, and also teach all sorts of topics including PHP certification. I thought I'd share my thoughts on the ZCE, and I'll write a follow-up post on how to prepare for it.
The main thing that annoyed me about teaching people for the 5.0 exam in the last couple of years is that it had a topic on the differences between PHP 4 and PHP 5. Personally, I have never worked commercially with PHP 4, and that's true for lots of developers that I meet. So I ended up trying to teach PHP 4 which seemed silly! Happily that is gone now from the 5.3 Syllabus.
There are some new topics and I'm pleased to see the Web Features topic being added. This brings together some HTTP concepts and overall client/server architecture stuff that really helps round out the syllabus. I consider that studying for the exam is in the interests of all PHP developers, these topics are all useful and relevant.
By the time I took the exam for 5.0, it had been around a while, and there was a study guide and some practice tests you could buy. This time, there's actually very little to go on, and even some of the features in the exam are new to 5.3 and there are not so many resources around which mention them. Zend have recognised this and have published a free study guide on their website, which sounds like a good idea ... until you actually read it. Sadly this guide is quite thin and hasn't been thoroughly checked, so contains mistakes (and yes, I should send in some errata, need to find time to do that). It does have a few example questions in it, but not many, and they are ... well, syntactically incorrect in places, to put it bluntly. Hopefully the study guide is a work in progress and these kinks will get ironed out.
A really major omission is that there are no sample tests yet for PHP 5.3 (as of the time of writing, December 2010), and I have always advocated these as a good way to get into the style of questions the exam uses. The only practice exam that I know of is part of the 5.3 Certification course offered by Zend (I teach this course at NTI Leeds so I have access to the training materials), which is useful but more than one would be even better!
I'll say this right up front. I absolutely hate the exam format used by ZCE. I don't know how to do it better, but for me personally, the tendency to ask candidates to hold in their heads all 1500-ish PHP functions, parameters and return values actually undermines the value of the qualification. It exactly shouldn't be possible to qualify by swallowing the textbook or memorising php.net. There are some more "wordy" questions and I think there were fewer "trick" questions in this version than in the 5.0 version (it seemed that way to me), but even the questions that try to test concepts can have ambiguous wording which leaves you wondering what question the author thought (s)he was asking.
Is it worth being ZCE?
Anecdotally, it does seem as if more employers are looking for the ZCE and ZFCE qualifications from their applicants, and for that alone it is useful for some people to be certified. I am of the opinion that studying for ZCE is of benefit to all PHP programmers, because it forces us to think in precise terms about the language that we use every day. However with the exam style as it is, I believe that even for me (and I do know all this content relatively well), it would be possible to fail the exam if you get the wrong kinds of questions. I haven't heard many stories about people failing so I assume the pass rates are forgiving (or people aren't shouting about not making it!) - if you thought you knew the topics pretty well and you fail the ZCE, my advice is to simply resit. I think my personal odds are that I would pass around 3 out of any 4 ZCE exams I was given - the format is tricky, so please don't be discouraged!