Od 2014 jestem certyfikowanym przez Zend inżynierem PHP (Zend Certified PHP Engineer ZEND026475). Zapewne znajdą się osoby, które zastanawiają się nad zdaniem egzaminu, po którym otrzymuje się taki certyfikat, ale nie są do końca pewne czy taki krok sprawi, że w oczach obecnego lub przyszłego pracodawcy, będą postrzegani jako bardziej profesjonalni specjaliści. Postaram się rozwiać część wątpliwości, ale od razu zaznaczam, że ostateczna decyzja należy do samego zainteresowanego.
Skąd u mnie wziął się ten certyfikat?
Sprawa jest bardzo prosta: pewnego dnia otrzymałem w pracy propozycję przystąpienia do kursu PHP, po którego zakończeniu można było przystąpić do egzaminu na certyfikat Zend z tego języka programowania. Oczywiście, wszystko było finansowane z Unii Europejskiej więc całość ani mnie, ani pracodawcę nic nie kosztowała. Ode mnie z pracy do tego kursu przystąpiło wówczas kilka osób. Pomyślałem, że skoro mam możliwość wzięcia udziału w takim kursie i otrzymać po nim znany certyfikat, to warto będzie spróbować.
Cały kurs składał się z dwóch części: Zend PHP I: Foundations oraz Zend PHP II: Higher Structures (w obecnej chwili Zend posiada trzy kursy: PHP Fundamentals I, II oraz III). Jak można zauważyć, takie kursy wcale do tanich nie należą, więc tym bardziej warto było wziąć w tym udział. Z samego przebiegu kursu byłem i w dalszym ciągu jestem niezwykle zadowolony, ponieważ trener go prowadzący był świetny, każdy problem potrafił niezwykle jasno wytłumaczyć. Trzeba tutaj zaznaczyć, że grupa kursantów w zupełnej większości składała się z osób już pracujących z PHP od kilku lat, więc część podstawowych tematów została pominięta, a skupiono się na bardziej zaawansowanych tematach oraz samym przygotowaniu się do egzaminu.
Podchodzimy do egzaminu
Co mogę powiedzieć o samym egzaminie? Otóż składa się on z bloków (w nawiasach przykładowe zagadnienia):
- podstawy PHP (składnia, zmienne, konfiguracja),
- funkcje (argumenty, zwracanie wartości, referencje, zmienne, funkcje anonimowe),
- format danych i typy (XML, SOAP, JSON, data i czas)
- funkcje webowe (sesje, formularze, tablice GET i POST, ciasteczka, nagłówki)
- programowanie obiektowe (instancje, interfejsy, klasy, traity, metody magiczne)
- bezpieczeństwo (konfiguracja, SQL injection, upload plików, hashowanie haseł, enkrypcja i hashowanie, filtrowanie danych)
- I/O (pliki, zapis, odczyt, strumienie)
- ciągi znaków i wzorce (porównywanie, wyszukiwanie, zastępowania, formatowania, NOWDOC)
- bazy danych i SQL (SQL, joiny, transakcje, PDO)
- tablice (tablice asocjacyjne, iteracja, funkcje na tablicach, rzutowanie)
- obsługa błędów (łapanie wyjątków, rzucanie wyjątków)
Aż tak dużo? Zgadzam się, jest tego trochę, a to tylko przykłady z poruszanych na kursie i egzaminie tematów. Pytania na egzaminie są generowane losowo, a zaliczyć należy każdy z wymienionych bloków. Nawet niezaliczenie jednego z bloków, a zaliczenie pozostałych na 100% sprawia, że egzamin jest oblany! No to może pytania są łatwe? Niestety, ale są bardzo podchwytliwe. Aby zdać pozytywnie egzamin, należy mieć już pewne doświadczenie z PHP, ponieważ dostajemy kawałek kodu do przeanalizowania i musimy odpowiedzieć, jaki będzie jego wynik działania. Ten kod należy bardzo dokładnie przeanalizować, ponieważ parametry do funkcji mogą być przekazywane w nieodpowiedniej kolejności, a to może spowodować wystąpienie błędu. Czasami trzeba również określić, jaki to będzie błąd. A może będzie to tylko ostrzeżenie?
Przed przystąpieniem do egzaminu warto usiąść parę dni wcześniej nad dokumentacją i przejrzeć sobie ją od deski do deski (a przynajmniej dzień przed egzaminem wieczorem przeglądnąć to, czego możemy nie wiedzieć). Niestety, samo zdanie egzaminu jest uzależnione od tego, jak duże mamy już doświadczenie w programowaniu w PHP oraz czy wiemy, w jaki sposób działają wbudowane w PHP mechanizmy i funkcje. Nie mogę powiedzieć, że dużo zależy od szczęścia, bo jednak samodzielnie ten test trzeba rozwiązać. Warto znaleźć sobie przykładowe testy czy aplikacje mobilne z przykładowymi testami, żeby się przygotować do egzaminu.
Czy warto?
Po zdaniu egzaminu i otrzymaniu certyfikatu moja sytuacja w pracy nie uległa poprawie z dnia na dzień. Dla obecnego pracodawcy zawsze najważniejsze będzie to, jak po prostu pracujemy. Jeśli natomiast poszukujemy pracy to tutaj mamy dwie możliwości: albo komuś się to spodoba, albo nie będzie brał tego pod uwagę. Zdarzają się sytuacje, kiedy jakaś osoba, widząc w CV wpis o certyfikacie Zend i od razu przechodzi do własnej weryfikacji znajomości języka, więc w tej sytuacji posiadanie certyfikatu może sprawić problemy podczas rekrutacji, ponieważ ktoś może chcieć udowodnić, że ten certyfikat niekoniecznie nam się należy. Są jednak sytuacje, kiedy osoba rekrutująca widząc informacje o tym certyfikacie uzna, że jest on dowodem na posiadane przez nas umiejętności i nawet nie będzie na temat PHP zadawała żadnych pytań.
Moje doświadczenie pokazuje, że certyfikat Zend z PHP nie jest u nas brany pod uwagę jako wyznacznik jakości, jaką jej właściciel może sobą prezentować. Jak wspomniałem już wcześniej, najważniejsze dla obecnego pracodawcy jest to, co sobą prezentujemy w danej chwili, a potencjalny i tak może zdecydować się na własne zadania do wykonania lub po prostu skusi się na przepytywanie na temat znajomości PHP. Jeśli mamy możliwość zdobycia tego certyfikatu za darmo, to mogę śmiało polecić próbę zmierzenia się z egzaminem i spróbować go zdobyć. Jeśli jednak mielibyśmy za to zapłacić, to ja na taki krok raczej bym się nie zdecydował.