NYCPHP Meetup

NYPHP.org

[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