Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03650.jsonl.gz/1317

Wie ich Zend Certified Engineer wurde (mit Gewinnspiel)
Mein Vorwissen
Zur Zeit bin ich 22 Jahre alt. Angefangen PHP zu programmieren habe ich irgendwann zwischen 2001 und 2002, also mit etwa 14/15 Jahren. Es müsste demnach eine 4.1.x Version von PHP gewesen sein. Ziemlich lange war dieses Interesse aber sehr oberflächlich. Während meiner Ausbildung lernte ich vor allem ASP und C , wodurch PHP zum Hobby verkam. Nach der Ausbildung und während meiner ersten beruflichen Tätigkeit begann das Interesse an PHP zu wachsen. Gründe waren die tollen, neuen Möglichkeiten von PHP 5 und die Tatsache, dass es mein damaliger Arbeitgeber verpasste von ASP (in meinen Augen einfach nur eine Zangengeburt) auf ASP.NET zu wechseln. Unterm Strich war PHP einfach anwenderfreundlich, leistungsstark und ... gratis!
Zwar kannte ich objektorientierte Programmierung aus C etwas, einen tieferen Einblick erlangte ich aber erst mit PHP 5(.1). In dieser Zeit begann ich auch mich vermehrt mit weiterführenden Themen der Programmierung zu befassen: Design Patterns (MVC, ARP), Security, Caching, usw.
Von Sommer 2007 an arbeitete ich dann zwei Jahre bei einem Arbeitgeber wo ich endlich PHP beruflich programmieren konnte. Durch ein sehr abwechslungsreiches und grosses Projekt und dank meines direkten Mitarbeiters im Backend-Bereich, der mich ständig mitzog, konnte ich sehr, sehr viel lernen. Ich lernte das Zend Framework kennen (und damit viele gute Ansätze in Sachen Webdevelopment), Propel ORM und vor allem all die kleinen Dinge die man nicht auflisten kann. In meiner Freizeit beschäftigte ich mich ebenfalls stetig mit dem gesamten Spektrum von Webwork und versuchte mich stetig weiterzuentwicklen.
Zusammenfassend hatte ich ein gutes, umfassendes Vorwissen in PHP und vor allem OOP (in PHP). Wegen der Benutzung von Fremdbibliotheken und Frameworks und der dahingehenden Abstraktion verlor ich mit der Zeit aber etwas den Bezug zu den Basics. Als Beispiel nenne ich da jetzt mal die mysql*- oder neueren mysqli*-Funktionen (PDO ist eh das einzige Wahre :P).
Meine Vorbereitung
Anfangs 2009 spielte ich erstmals mit dem Gedanken die Zend Zertifizierung zu machen. Dieser Gedanke wurde aber nie richtig konkret und so ging er in Vergessenheit. Per Ende Juni kündigte ich dann meine damalige Arbeitsstelle und die Idee zur Zertifizierung kam zwecks Stellensuche und sinnvoller Freizeitgestaltung wieder auf.
Zuerst begann ich im Internet nach Erfahrungsberichten zu suchen. Diese beinhalteten allerdings meisten nur den Tipp, einfach das PHP Manual Wort für Wort zu lesen. So blöd es klingt, dieser Tipp ist in der Tat der beste, um sich das am Testtag gefragte Wissen über PHP anzueignen. Wie sinnvoll dieses Wissen ist, sei dahingestellt. Es ist aber durchaus von Vorteil wenn man z.B. weiss in welcher Reihenfolge bei bekannten String-Funktionen die Parameter erwartet werden oder wann und wie PHP die Datentypen dynamisch wechselt. Viel dieses Wissens ist in der Praxis nicht wirklich von Nöten, da man z.B. dank Autocomplete nicht alle Funktionen auswendig kennen muss und schon gar nicht, in welcher Reihenfolge die Argumente erwartet werden (PHP ist da ja nicht gerade sehr konsistent).
Dennoch: Manual gut lesen! Man muss die Stream-Funktionen kennen, das PHP 5 OO Model, die Unterschiede zwischen PHP 4 und 5, all die verschiedenen XML Parser und vor allem die gesamten Basics wie Syntax, Datentypen (Arrays!), usw.
Damit ich mir ein Bild machen konnte wie die Prüfung abläuft, kaufte ich zehn ZCE Mock Exams (fünf davon habe ich noch und werde sie am Ende dieses Artikels als kleines Gewinnspiel ausschreiben). Der Test findet am Computer statt und man wird mit Single Choice-, Multiple Choice- und Freetext-Fragen konfrontiert. Bei Multiple Choice-Fragen steht jeweils wie viele Antworten erwartet werden und bei den Freetext-Aufgaben muss man jeweils nur ein Wort schreiben, z.B. "Singleton". Der Test besteht aus 70 Fragen, wofür man 90 Minuten Zeit hat. Man kann jede Frage am Ende des Tests nochmals öffnen und ändern.
Diese Probeexamen lernten mich vor allem eines: Man muss an das Undenkbare denken! Es werden Fragen gestellt, die auf absichtlichem Missbrauch von PHP basieren. Ausserdem halfen mir die Teste mich besser auf meine Schwächen konzentrieren zu können und sie gaben mir auch immer wieder Schlagwörter, die mich zu neuen Erkenntnissen führten. Zum Beispiel "Cross-Site Request Forgery". Ein paar Beispielfragen habe ich in meinem Blog bereits gepostet.
Vom Niveau her fand ich die eigentliche Prüfung etwas schwieriger als die Probeexamen. Da diese aber nicht allzu teuer sind, kann ich jedem nur empfehlen, drei bis fünf Tests zu kaufen. Mehr braucht's nicht! Ausserdem wiederholen sich die Fragen dann schon ...
Etwa zwei Wochen beschäftigte ich mich intensiv (damit meine ich vielleicht zwei Stunden/Tag) mit der Prüfungsvorbereitung. Danach viel ich irgendwie wieder in ein kleines Loch, worauf ich mich spontan in den frühen Morgenstunden (nach einem Samstagabend ...) für den Test anmeldete - für den kommenden Mittwoch. Die nächsten drei Tage lernte ich deshalb nochmals fleissig, machte noch einen Probeexamen und freute mich dann ganz entspannt auf die Prüfung. :P
Meine Prüfung
Besagten Mittwoch um 10:30 Uhr stand ich auf der Matte eines Pearson VUE Testcenters in Bern. Pearson VUE führt für Zend die Examen in zertifizierten Testcentern durch. Dies hat den Vorteil, dass man sogar in jeder grösseren Schweizer Stadt die Zertifizierung machen kann. Sehr praktisch, da man sich Ort, Datum und Zeit ziemlich flexibel aussuchen kann.
Nach einem Schluck Wasser und meiner Unterschrift unter dem Antrittsformular wurde ich auch schon in einen Raum voller Computer geführt. Nebst mir waren nur etwa zwei weitere Personen anwesend, die aber (ziemlich sicher) eine andere Zertifizierung machten. Ein Aufseher war nicht im Raum, jedoch wurde der Raum Kameraüberwacht. Ich fand die Atmosphäre allerdings sehr entspannt und ich konnte mich gut konzentrieren.
Was mir etwas Probleme bereitete, war, dass ich den Test auf Deutsch machte, obwohl ich mich ganzheitlich auf Englisch vorbereitete. Gewisse Fachbegriffe klangen einfach komisch und ich übersetzte mir die Fragen desöfteren ins Englische, damit ich ein besseres Verständnis erlangte. Je nach Englischkenntnissen würde ich also empfehlen, den Test auf Englisch zu machen.
Ausserdem gab es eine Multiple Choice-Frage die laut Fragestellung drei Antworten erwartete, man aber nur zwei auswählen konnte. Die etwas überforderte Angestellte des Testcenters konnte mir dabei auch nicht wirklich helfen (nach dem Motto: "Reboot tut immer gut").
Die 90 Minuten waren - wie schon bei den Probeexamen - mehr als gut berechnet und so konnte ich ohne Probleme nochmals alle Fragen durchgehen und trotzdem frühzeitig beenden (etwa nach 70 - 75 Minuten). Die Schwierigkeit des Tests würde ich als "fortgeschritten" einstufen. Man muss sicher kein Profi sein, wer sich jedoch nicht tiefer mit der Sprache beschäftigt, wird kaum eine Chance haben.
Und ja, erfreulicherweise bestand ich und seit dem 22. Juli darf ich mich offiziell "Zend Certified Engineer" nennen. :-)
@See: Mein ZCE Profil
Fragen beantworte ich natürlich gerne in den Comments!
Gewinnspiel
Wie geschrieben habe ich noch fünf offene Testexamen zu verschenken. Per Twitter (@phphil) möchte ich deshalb gerne wissen, an welchem Wochentag ich mich für den Test angemeldet (nicht teilgenommen) habe. Sobald ein paar Teilnahmen eingegangen sind, werde ich einen Gewinner auslosen. Viel Glück!
Herzlichen Glückwunsch an Benni Hofmann! Die richtige Antwort war natürlich Sonntag.