Zend Certified Engineer worden
In een ander artikel, had ik het over een "PHP Boom". Een van de tips van andere bloggers is om op te vallen, zodat je sneller aan een baan komt. Een certificaat behalen heeft het meest effect. Er zijn certificeringen voor PHP programmeurs, een daarvan is de Zend Certified Engineer titel. Dit is denk ik ook de meest erkende certificering voor PHP ontwikkelaars. Voor diegene die eerst een cursus wilt volgen, Eduvision biedt onder andere cursussen voor PHP. Er is zelfs een Masterclass voor PHP! Alleen vraag ik me af of deze allemaal wel meerwaarde hebben. Het ZCE examen gaat niet over programmeren, maar over "kennis van PHP". Dat is een belangrijk kenmerk. Het kennen van PHP wilt dus niet zeggen dat je ook een goede programmeur bent! Het gaat dus over het kennen van de syntax, niet meer niet minder. Het is op het moment van schrijven nog steeds PHP4 gericht, terwijl PHP5 al ruim twee jaar stable is. Strange...
What if this weren't a hypothetical question?
Het ZCE examen is berucht om haar vragen, je moet vaak kleine feitjes weten. Laten we een voorbeeld vraag nemen. Hier kun je zelf een voorbeeld test nemen, het bestaat slechts uit acht vragen. Op deze pagina zijn de antwoorden te vinden met uitleg.
Het jolijt begint al bij de eerste vraag.
What does < ? echo count ("123") ?> print out?
A. 3
B. False
C. Null
D. 1
E. 0
Sorry hoor, maar dit is echt een onzin vraag. Gebruik functies die in context worden gebruikt! Men gaat zich toch ook niet afvragen wat er gebeurt als je een kat in de magnetron stopt?
Ongetwijfeld zul je deze situatie weinig tegenkomen. count() gebruik je voor het tellen van het aantal elementen in een array. Ik kan me niet herinneren dat andere open source projecten count() op een andere manier gebruiken, noch in boeken en tijdschriften. Dit staat letterlijk in de manual van count():
count -- Telt de elementen in een array
De laatste vraag van de self-test is bijna identiek.
Of zit er een andere gedachte achter deze vragen? Dat je weet welke return waarde count() heeft bij een andere datatype?
Een ander 'onnozele' vraag is de zesde vraag.
The code below __________ because __________.
< ?php
class Foo
{?>
< ?php
function bar()
{
print "bar";
}}
?>
A. will work, class definitions can be split up into
multiple PHP blocks.
B. will not work, class definitions must be in a single PHP
block.
C. will not work, class definitions must be in a single file
but can be in multiple PHP blocks.
D. will work, class definitions can be split up into
multiple files and multiple PHP blocks.
Classes zo opdelen? Nog nooit gezien. Toch zit hier een andere gedachte erachter, de bedoeling van de vraag is minder oppervlakkig dan je denkt. Voor deze vraag moet je je realiseren dat het "uit PHP modus" stappen alleen binnen bepaalde elementen kan, en niet midden in een class.
Waarom zou ik moeten weten of de haystack voor of na de needle komt in stringfunctie X? Dat kan ik toch zo opzoeken? What's the challenge? Daarnaast is de naamgeving van functies in PHP niet altijd consistent, zoals hier te lezen valt. 'Aparte gevallen' onthouden vind ik daarvoor niet nodig. Tuurlijk is het makkelijker als je dat uit je hoofd weet, maar om daar een examen en certificering voor te maken vind ik onnozel.
Separate the boys from the men
Aan de andere kant kan je je wel onderscheiden van de vele PHP scripters die er zijn. Dit is vooral belangrijk voor freelancers. Zij moeten zich kunnen onderscheiden van de concurrentie. In Nederland is er niet veel concurrentie, er is een tekort aan PHP programmeurs. Maar als die PHP Boom gaat komen, dan moet je toch gaan nadenken over hoe je jezelf blijft onderscheiden zodat je interessant blijft voor klanten.
Een andere manier om jezelf te onderscheiden is bijdragen aan een open source project. Denk aan het ontwikkelen, vertalen van de manual of helpen op een forum. Opdrachtgevers kunnen dan een kijk nemen hoe je nou te werk gaat en wat de kwaliteit daarvan is. Hoe populairder je project, hoe sneller een opdrachtgever een kijkje wilt nemen. Het toont wel aan dat programmeren een (belangrijk) onderdeel van je is. Een probleem daarmee is de hoeveelheid tijd dat zo'n project kan kosten. Hoeveel tijd kun je in het project steken? Deze methode kost heel veel tijd en er kan wel jaren overheen gaan voordat je 'erkend' wordt.
De beste manier is met behulp van een certificering. Dit geldt natuurlijk ook voor andere PHP programmeurs die geen freelancer zijn. Het ZCE-effect is kleiner bij sollicitatie gesprekken, vooral waar web development geen core business is. Waar dat wel het geval is, dat zijn er niet veel, dan heeft wel enig effect. Echter, de vraag naar dit certificaat is er niet in Nederland. Bekijk een paar PHP vacatures en nergens wordt er gevraagd om ZCE. Jezelf onderscheiden met ZCE zegt dus eigenlijk niet zoveel. Wanneer de vraag naar ZCE-ers stijgt, dan wel.
Vraag jezelf dus af of het worden van ZCE waardig voor je is. Aan de ene kant kan het nooit kwaad kan, het is altijd mooi meegenomen. Alleen hebben sommige certificeringen een slechte naam. Is dit het geval bij ZCE? Of gaat dat nog komen? Je wilt toch niet rondlopen met een certificaat waarvan anderen denken "Wat een prutser, hij is ZCE. Die mensen hebben er echt geen verstand van."
Uiteindelijk is certificering nooit genoeg. Dat is waarom mensen denken dat mensen met bepaalde certificering prutsers zijn. Deze mensen halen een certificaat en denken vervolgens god op aarde te zijn, terwijl ze geen ervaring hebben. Dit is een leuke parodie daarop. Certificering alleen is nooit de "silver bullet".
Volg Scriptorama via RSS!
Reageer ook!
1) Dat Dilbert plaatje is echt teh nogwat. Leuk zeg maar.
2) Ik kan me niet voorstellen dat certificering kwaad kan. Een negatieve reactie als “Wat een prutser, hij is ZCE. Die mensen hebben er echt geen verstand van.“ zie ik persoonlijk niet snel gebeuren.
Bovendien, mocht het inderdaad blijken dat het behalen / in bezit hebben van zo'n certificaat schadelijk is voor je reputatie (op IRC iig, lol), dan kan je hem nog altijd verzwijgen.
Ik denk dat ik ook wel geïntresseerd ben in zo'n ZC, want het is toch, nou ja... Zend. En als ik dan onzinnige dingen moet leren voordat ik het woordje Zend op mijn CV kan knallen, so be it.
Oh ennuh:
Door berry__
op 05.10.06 @ 3:00 pm | Permalink
@berry: Nouja, je weet wat ze van MCSE zeggen.. -M-ust -C-onsult -S-omeone -E-xperienced ;-)
Certificering blijft denk ik een double-edged-sword. Aan de ene kant geef je met het halen van een certificaat aan dat je actief bezig bent met een bepaalde omgeving en dat kan interessant zijn voor een werkgever.
Tegelijkertijd wordt een certificatie vaak gezien als een bewijs dat iemand zeer competent is met een omgeving - wat natuurlijk weer niet persé het geval hoeft te zijn met teleurstellend resultaat.
Door Mathieu Kooiman
op 05.10.06 @ 3:52 pm | Permalink
Is het Zend Certification programma eigenlijk al geupdate voor PHP 5? Om nu nog een PHP 4 certificering te halen...
Door Mathieu Kooiman
op 05.10.06 @ 3:53 pm | Permalink
Toen ik op de link klikte verwachte ik een test over nuttige kennis van php.
Dit is eerder een test 'hoever kan ik gaan met verkeerde zaken doen in een php script en wat voor error geeft dit'. Een beetje nutteloze zaken eigenlijk, maar ik zou niet nee zeggen tegen zo'n certificaatje:)
Door Koen Speelmeijer
op 05.10.06 @ 7:51 pm | Permalink
Ik denk dat deze online-test niet echt representatief is voor het examen. Deze vragen zijn vrij jammerlijk; sommige zaken zoals gezegd door tri pham zijn gewoon irrelevant.
Ik zou er zeker ook geen nee tegen zeggen. Lijkt me toch wel weer een bewijs (en extra op je cv:p) dat je zoals gezegd actief bezig bent en je kennis ook regelmatig bijschaafd.
Door brossiekoppie
op 05.10.06 @ 9:58 pm | Permalink
Ik vond de vragen in de voorbeeldexamens ook vaak bogus. Gelukkig komen deze in het echte examen bijna niet voor.
Dat je van bepaalde stringfunkties de params moet weten vind ik wel logisch, dit zijn veelgebruikte funkties die je echt wel van buiten weet als je php ervaring hebt. Van andere onderwerpen is de relevantie van de vragen soms wel twijfelachtig helaas.
Door Ivo Jansch
op 05.10.06 @ 10:17 pm | Permalink
[...] In me vorige artikel had ik het al over ZCE. In dit artikel gaan we er dieper op in met Ivo Jansch, Zend Certified Engineer en bekend van Achievo. Ivo Jansch is Software Architect bij Ibuildings, waar alle PHP programmeurs zich als ZCE moeten certificeren. Hij weet als geen ander wat voor waarde ZCE heeft. We hebben hem enkele vragen gesteld betreft het ZCE. [...]
Door Dieper in op ZCE met Ivo Jansch | Scriptorama op 05.11.06 @ 5:56 am | Permalink
Ik blijf het idee hebben dat de vragen op de oppervlakte inderdaad irrelevant lijken maar dat ze wel een bepaalde intieme kennis van PHP vereisen om te kunnen beantwoorden (datatypes, etc).
Door Mathieu Kooiman
op 05.11.06 @ 7:36 am | Permalink
Dat ze een bepaalde intieme kennis van PHP vereisen is wel waar, maar persoonlijk vergeet ik dat soort pietluttige dingen gewoon snel.
Wat je doet is de functie neerknallen, uitvoeren in je browser, krijg je een resultaat dat je niet verwacht dan draai je de parameters om. Ik denk er eigenlijk niet eens meer bij na. In dat opzicht vind ik de voorbeeldvragen van Tri tekenend voor de relevantie van het ZCE-certificaat.
Door Ruud Alberts
op 05.11.06 @ 10:44 am | Permalink
[...] Eerder hadden we het al over Zend Certified Engineer worden. Via de CakePHP foundation is het nu mogelijk jezelf te certificeren als CakePHP Certified Engineer. Zoals je zou verwachten bij certificeringen moet je een soort examen maken, maar niet bij CakePHP. Je moet een project met CakePHP ontwikkelen en insturen naar de foundation. Deze oordeelt of je web applicatie alle criteria voldoet en deze basis kun je CakePHP Certified Engineer. Wat zijn de criteria? We will review the application, and either certify you as a developer or ask you to refactor some more. You will have the opportunity to submit the same application 3 times. [...]
Door CakePHP Certified Engineer | Scriptorama op 06.01.06 @ 9:11 am | Permalink
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>