The Pros and Cons of Zend PHP Certification

Jacek Barecki

Introduction

As a PHP developer, you may have been asking yourself how to improve your skills, gain reputation or become more professional in your work. One of the ways of doing so is to get through a certification programme. The only one that covers PHP itself (not a particular framework or software solution) is being delivered by the Zend company. In the remainder of the article I will focus on this particular certificate and describe its advantages and disadvantages. At the end I will also mention some other certification programs that may be valuable to a PHP developer.

Please note that I’m not affiliated in any way with the companies that offer the certification programs described in the article.

Zend certification – general info

The Zend company offers the Zend Certified PHP Engineer certification programme which covers different areas of developing applications in PHP 5.5. The topics that you have to learn for the exam are grouped in several categories like PHP Basics, Object Oriented Programming, Security or Arrays. The company offers a course that prepares for the exam but it’s not mandatory. The exam itself may be taken in one of Pearson VUE Testing Centers which are available all over the world, so it probably won’t be difficult to find a testing center near your location. The cost of the exam is $195.

Possible benefits

1. A way of confirming your skills
Of course the basic goal of getting certified is to get a formal confirmation of your programming skills. After passing the exam you can describe yourself as a Zend Certified Engineer (e.g. in your CV) and you will be listed in the directory containing all of those who passed.

In my opinion, getting certified may be especially important if you’re an intermediate PHP developer and you want to distinguish yourself from beginners. As the exam itself isn’t simple, I think it will probably be too difficult for those who are just starting out. The exam covers different areas of PHP in a detailed way which probably won’t be necessary and will be too complex for newbies. On the other hand, it’s worth keeping in mind that advanced PHP programmers can prove their skills just by referring to their professional experience. The applications they have worked on in the past, the code they have written or their commitment to open source projects may be a more valuable proof of their skills than the certificate.

2. A way to review and extend your knowledge
If you plan to take the exam, you will certainly have to prepare for it. As it covers all of the PHP basic functionalities, the preparation for the exam may be a good way of learning different aspects of PHP or reviewing your knowledge.

When you started writing PHP applications, you probably went through some basic tutorials or a book or two. Then, as you were becoming more advanced, you read more on the topics that you needed to learn about. You searched the web looking for solutions to specific problems, you read different books and articles concerning the subjects you were working on. But have you done a course that covers all of the PHP concepts in a thorough way, from beginning to end? Probably not. That’s why the preparation for the PHP certification exam may be valuable. It may be an opportunity to review the knowledge in the areas that you are already familiar with and learn something new about the other topics you may have skipped.

The Zend certificate covers a lot of ground, from basic concepts like the syntax, operators or language constructs, to all of the different features of the PHP like working with files, string and array manipulation, handling sessions, cookies and form data etc. During the exam you may be also asked about databases and SQL, basics of HTTP requests or different data types (JSON, XML etc.). So if you want to get the certificate you will have to get familiar with all aspects of the language, not only the ones that are, for example, needed in your work right now. As a result, you may gain a wider perspective on PHP itself and find some tools or solutions that you didn’t know of before. You may also discover some areas that you are weak in and get motivated to work on them.

The drawbacks

1. The construction of some of the exam questions
The exam consists of about 70 questions. You can find sample questions on the Zend website to see how they are built. Some of them just ask you What will the following code produce? and contain a code sample that you need to examine. I think such questions are really good in checking your PHP skills as you have to work with real code, analyse the commands being executed, the functions and operators being used etc.

But in the sample questions I have also found the ones that ask you about PHP built-in function names, parameters or their usage. Of course such knowledge is a part of being a PHP developer and it probably cannot be checked in another way. But, to tell you the truth, I don’t see a point in memorizing tens of string or array functions while in my everyday job I can successfully find a proper one just by browsing the PHP documentation. And getting to know all the PHP built-in functions may be especially difficult when you consider the fact that they are often inconsistent in their naming, parameter order or return values (it has been one of the important points of the PHP criticism, just read here to see some examples). So I’m not really sure whether learning the whole function list is worth the time and the effort as it won’t help you a lot in becoming a better programmer.

2. What it really proves
This leads to the second point of the drawbacks list. I’m wondering what it really means to pass the Zend Certification exam (or any other exam built in a similar way). Imagine you’re on a job interview and a person from the company asks you a question: What does your certificate prove? Is it a confirmation that you can actually write software? That you can organise your code, keep it clean and follow good practices? That you will be able to build a whole application from scratch or implement new solutions to an existing one? Well, I’m afraid it’s not.

When considering taking the exam just remember that the certificate may not be a sufficient proof of the fact that you can work efficiently as a developer. It does confirm that you have advanced knowledge of PHP but it doesn’t say anything about your competence in using this knowledge in real cases. In other words, it just shows that you know the tools but it says nothing about whether you know how to actually build something with them.

Summary

In this article I tried to show the pros and cons of getting certified in PHP. I covered the Zend Certified PHP Engineer exam as it’s the only one that targets general PHP knowledge, not related to any specific software solution. If you’re interested in other certificates that may be suitable for a PHP developer, here are just a few proposals that may be worth considering:
– framework-specific certificates, e.g. in Zend or Symfony,
– database development and administration certification, e.g. in MySQL,
– Linux certification, e.g. Linux Professional Institute Certifications.

I’m interested in your opinion about the points that I have described in the article and about the certification itself. Feel free to put your comments below or to contact me through Google+.

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • MANCHUCK™

    I had many issues with the questions that were asked when I took the test many moons ago. One was the over generalization of the DB questions. My favorite was how they were asking me about variable variables:

    $first = ‘second';
    $second = ‘first';
    echo $$$$first;

    Whats the output?

    The output is that I would fire the person who wrote that

    • http://www.pauloeduardo.com/ Paulo Eduardo Lima Rezende

      It’s like arithmetic:
      $first = ‘second';
      $second = ‘first';
      So:
      $$$$first = $$$second
      $$$second = $$first
      $$first = $second
      $second = ‘first’

      The output is “first”

      • MANCHUCK™

        Its not a question of being able to answer the question, rather the manner the question was asked. I got my CCNA, MCSA, MCSE, MCP, A/NET/Security+ a few years back. During the course the instructor stated: The purpose of this is to prove that you can be thrown into a network, figure out what is going on, and fix problems. That is what the goal of any professional certification should be. PHP has +20K functions, about 300 configuration options (based on extensions you run) each following its own standard (see haystack needle). I was asked questions about functions that in 15 years of programming never used. In real life, I have php.net, Google and the PHP source code to figure out what is going on.

        Dr’s don’t remember every disease out there (they have the PDR), lawyers do not remember every piece of legislation (they use many references). Instead they are quizzed on application. The ZCE test was not about application but just knowing what functions did or entering configurations. From memory I had to remember if it was gc_enable or enable_gc (not to mention spelling it correctly). There was no feed back on weather I was correct with that answer.

        The other professional exams I took, asked practical questions: What is the correct subnet mask for a network requiring at least 15 clients? Which of the following permissions do you need to enable to allow reading a file but not copying? What is the correct IRQ for the keyboard? (you had to manually configure those back then) . Questions on the ZCE: What does function X do? How do you query the only the 1st 10 rows of a database table?

        I really wish the ZCE would grow to become just a set of problems you have to solve. You are give some read only unit test that have to pass in 5 tries. Once they pass, you are a ZCE

    • http://www.bitfalls.com/ Bruno Skvorc

      Hahaha, “The output is that I would fire the person who wrote that” that should be a valid answer for that question

  • Blaine

    Regarding the first drawback, the 5.3 certification never asked about parameter order. None of the “what does this code do?” tricked you by putting them in wrong. I believe one of the study guides even mentions this.

    • frostymarvelous

      That is just plain sad. I can never remember the order! That is why I use Utility classes to ensure that I avoid the needle and haystack problem.

  • dojoVader

    I really do relate with your article, I think back then there was a pressure on certification, till later it was dependent on how people code, I got friends who got Java and .NET Certifications, and this guys can’t even configure Java on the System Path or even know how to debug an app talk-less of writing one, However someone companies do put a lot of requirements on certifications. so its a mixed topic, I don’t really see the point of one, but regardless i might still get one depending on the environment

  • Kalpesh Singh

    Hi Jacek,

    So What will be real benefits of this certs in terms of Salary?

    • Jacek Barecki

      That’s a good question but I think that the situation may be different in each country. In Poland (where I live) I’ve never seen a job offer with the PHP certificate as one of the requirements. Some companies require framework-specific certifications but it’s also not very common. So in Poland having the certificate isn’t probably beneficial in terms of salary.

      • Kalpesh Singh

        Lets say a company wants to recruit a fresher PHP developer …then I think they will select certified person and may increase 15-20% salary. What you say?

        • http://www.bitfalls.com/ Bruno Skvorc

          No company worth a damn will ever give you a 15-20% higher pay if you have a certificate. You’ll earn the 15-20% increase when you prove yourself.

  • http://www.adrianmiu.ro/ Adrian Miu

    I have taken the exam and, while I learned something during preparation, IMO the certification is useless. You have to be a poor programmer not to pass it and any job interview I’ve been had tests good enough to filter these kind of people. It would be dissapointing if the MySQL and framework specific certifications are just as difficult

    • Tim Brouckaert

      The certification itself doesn’t prove if you’re a good or bad programmer. It just proves you are able to study some lines :)

  • Tim Brouckaert

    using 2 $-signs is sometimes used in constructions like:

    if ($a){
    $varname = ‘fullname';
    } else {
    $varname = ‘name';
    }
    print $$varname;

    Using more than 2 is just …. (censored :p )

  • Tim Brouckaert

    While code reviewing it isn’t bad to see what code does, even without executing it. You should familiarize yourself with this. It has nothing to do with memorization, but with following the logic.
    That being said, one should use as little lines for doing one clear thing as possible. If you need more than about 10 lines, you should move it away to a separate function / method. In this way, you can even reuse this ‘difficult’ code.

  • Taylor Ren

    I always look at certification this way: it is a “common” ground to introduce your capability. Does MBA tell anything about your management skill / business acumen? Probably not. However, it helps in two things: brings you a circle of common interest; tells your interviewer that you at least grabs some basic knowledge of business administration.

    The same applies to PHP certification too. The questions being asked can never be exhaustive and “useful” but it saves time to explain yourself by simply saying: yes, I am Zend Certified. It tells something by whatever means.

    That is how I value this certification.

  • http://timgavin.name Tim Gavin

    I used to play drums and knew a lot of drummers who had amazing technical chops and could do every rudiment in every book, however, they were crap in a band. They overplayed and couldn’t do what the song required. Same goes for coding; knowing every single function is worthless if you can’t do what the application requires. My clients don’t care about awards and certifications – or how many functions I know – they care about how many orders they get with the app I built. :)

  • asciiville

    I totally agree with not wasting time memorizing function calls. It is so much easier just to leave my least favorite web browser open on php.net, where [IE] shouldn’t cause too much trouble :) It is somewhat disconcerting that the exam asks questions about topics that can be Googled quickly.

    I tend to deal with only a small subset of the language on any given day, and if there is a need to write some type of utility function, I will try to find out if it has already been done in PHP before expending any effort.

    Interestingly enough, I found the Java certification study guides to be very helpful overall even though I had no intention of pursuing certification. It may not be a bad idea to peruse the Zend study guides as well.

  • Debbie Otterstetter

    Great Article Jacek, and thanks for all the thoughtful comments! This is Debbie Otterstetter who runs Zend’s certification and training programs, and I thought I’d provide some perspective on what we hear from PHP developers who have taken the exam.

    Certification may not be required for all developers – as Jacek pointed out it may be too advanced for real beginners unless they are willing to put in the effort to truly learn their craft. However, we have heard from many that studying for and obtaining Zend PHP certification helped them to become better programmers through the exam preparation, attain new jobs and/or salary increases. And as mentioned it can really help developers get a wide understanding of the full range of PHP’s capabilities, not just those they need for their current project. Employers see certification as a way to guarantee a broad minimum skill set in a developer.

    The new Zend Certified PHP Engineer exam (that was introduced last October) was completely reviewed and updated by our industry Advisory Board – we removed any outdated or unclear questions in order to refocus on the skills of the developer. This version of the exam also includes some of the new features added in 5.4 and 5.5.

    If you (or any of your followers) would like to take the new exam, I’d like to extend an offer to provide you with a FREE copy of the new PHP Study Guide. Just email me at debbie.o@zend.com and mention “Jacek’s article”. This offer is good through the end of February, 2014.

    • http://www.bitfalls.com/ Bruno Skvorc

      Thank you very much for chiming in and doing this, Debbie, that’s a really nice gesture. I’ll definitely be getting in touch so I can take a look at the study guide too.

    • Jacek Barecki

      Thank you for the comment, I really appreciate your contribution to the discussion!

  • frostymarvelous

    “I don’t see a point in memorizing tens of string or array functions while in my everyday job I can successfully find a proper one just by browsing the PHP documentation”

    Exactly why I have not bothered to certify!

  • frostymarvelous

    No one will ever use more it more than once. It has no practical value and you will quickly be thrown out of the community if you tried that in an open source application!

  • frostymarvelous

    That means you cannot debug another person’s code! Ever!!
    And oh, digging into the source to help you understand what is happening is utterly of no use to you.

    • Alex

      I constantly sift through source code, I am not sure what your point is??

      • frostymarvelous

        “What will this code produce questions are senseless to me…in practical terms anyway”

        These types of questions are to ensure that when you sift through source code, you actually understand what they mean. My point is that these questions are valid.

  • Duduś

    Surprise! The whole world doesn’t speak English. If you’re not English, you must also learn English to be able to pass this exam.

    • Kaloyan Doichinov

      Sounds really inconsiderate of the Zend team, when you put it this way. But please think about it – English is becoming more or less an “international” language and most of the documentation you can find in the IT field in general is either only in English, or directly translated FROM it into other languages. It’s just the mother tongue of our trade, and I don’t think anyone should just stubbornly ignore that by not learning at least basic English. Otherwise you will be much, much less effective at research, development, reading documentation (a very important part of being a developer) and so on. A few decades ago engineers in Europe had to know either Russian or German, because most (if not all) books on the subject were in one of those languages. Nothing wrong with that, I think.

      • Słowo musi być święte

        I do not criticize the Zend team. I only said that English is essential. At present is not only crucial, but also original in the industry. It is a skill like any other.

        In contrast, translated texts often simplify the meaning of English words. Thus, the translated texts do not always contain the right words.

  • Guest

    Surprise! The whole world doesn’t speak English. If you’re not English, you must also learn English to be able to pass this exam.

  • http://www.ericlin.me Eric Lin

    I have been working with PHP for years and still lots of functions that I can’t remember, that’s the whole point of having documentation sits there for help, right? Jarek is right that lots of PHP functions are just not consistant in naming and function parameters, so it is really hard to remember them all. But why bother anyway? To me the certificate is useless and complete waste of money. It doesn’t make a certified PHP programmer a good programmer.

  • http://www.PatidarWeb.com Vallabh Kansagara

    Great Article Jacek.