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.
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.
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.
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+.