Certifications about particular technologies are dumb, unless there's a certain amount of built-in complexity that justifies them (or not, but I don't know what Cisco certifications are like, etc). PHP is a small enough system that it doesn't warrant it.

Any competent programmer can become satisfactorily proficient in a language in less than two weeks (assuming the language is of a common langauge class -- C to lisp is hard. Perl or C to php is simple. Also see C++ to Java, PHP to ColdFusion, Java to C#, etc). Given two or three months, that programmer who gained some proficiency can become fairly expert.

If you want a certification, it should be wider.

As someone who's in a position to hire, I'd love to see a really strong certification that I could count on. This would require conceptual knowledge, not particulars about a language.

I want someone who can (among other things):

- Administer UNIX-like servers. Including some basic understaning of package management, and also (especially?) compiling from source.
   - Can at least make their way around a windows/IIS type system.
- Understands version control systems (for me, CVS + SVN, but you'd probably need to understand VSS in the cert exam). - Knows how to program. Understands how to optimize (and when). Understands recursion. - Has a good knowledge of object-oriented things. - Knows their way around major design patterns (MVC, Singletons, Factories, and so on) - Understands SQL -- you might be a PHP-expert, but if you're writing bad SQL your app will suck (unless it eschews SQL entirely -- how often does that happen).
   - Understands XML parsers.
   - Understands some common XML-based standards (SOAP, RSS)
   - Knows how to write a cron job that will actually work.
   - Can manually interact with an SMTP server (via telnet)

Knowledge of PHP's syntax just simply pales in comparison to the importance of this stuff. PHP is *easy* to learn if ... wait for it ... you know how to program your way out of a paper bag. ($bag.exit();? exit($me,$bag);? $this.parent = null;? ... maybe it's harder than I thought ... getting claustrophobic!)

All this stuff (together) is hard to test for, and it's hardly an exhaustive list. It's also just the start of the list that *I* want -- some people might not care about version control, for instance.

But a much better place to start, IMO, is not a PHP certification, but some kind of overall web-development certification. I care a LOT more about a candidate having a good understanding of relational databases than I do about them understanding PHP. I also want my subordinates to be clear on good semantic markup, and have a good, solid understanding of Javascript (these days).


_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

Reply via email to