[nycphp-talk] About Formalizing an Enterprise PHP and thePHP+Developer
Tim Lieberman
tim_lists at o2group.com
Wed Apr 23 22:08:38 EDT 2008
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).
More information about the talk
mailing list