477 subscripciones por RSS o por E-mail

Cómo diferenciar a un programador PHP profesional

Un avezado desarrollador PHP que dice trabajar para Panasonic y haber entrevistado a 200 aspirantes en los últimos 3 años enumera su criterio para seleccionar al candidato ideal para el puesto de programador "Senior". Según, lo que diferencia a un programador PHP profesional de uno amateur puede resumirse en esta lista:

  • PHP5 vs. PHP4
    Debe enumerar por lo menos 3 características que diferencien a PHP5 de PHP4.
  • Redes
    Debe ser capaz de hacer por lo menos programas básicos que manipulen sockets o por lo menos comprender cómo conectar a 2 computadoras.
  • OOP
    Debe entender profundamente los conceptos de la programación orientada a objetos y ser capaz de responder preguntas simples como la diferencia entre métodos "privados" (private) y "protegidos" (protected).
  • Bases de datos
    Debe saber qué es una base de datos normalizada, y entender claves primarias y foráneas.

Y otras imprescindibles más:

  • Patrones de Diseño
    No debe decir "¿Qué" cuando mencione patrones de diseño.
  • Control de Código Fuente
    Debe dominar buen sistema de control de versiones Open Source (archivos .ZIP en directorios temporales no cuenta). Puntos extra si puede nombrar por lo menos un motivo por el cual CVS es un dolor de...
  • Unit Testing
    Debe entender qué es el unit testing y porqué es importante. (Puntos extra por test driven design, sabér como hacer unit tests de JavaScript y usar Selenium.
  • Ser parte de la Comunidad
    Debo ser capaz de encontrar todo tipo de cosas buenas que está haciendo con PHP o tecnologías web si lo "googleo". Generalmente es un mal indicio si Google no arroja ningún resultado con tu nombre. Puntos extra por tener un proyecto (de software abierto) o contribuir a uno.
  • Habilidades JavaScript
    Debe saber los métodos usados para manipular el DOM y crear sus propias clases en JavaScript (validación de formularios es de 1999). Puntos extra por saber cómo hacer una variable privada en JavaScript.
  • Habilidades CSS
    Debe dominar el Box Model, entender los selectores CSS y usar herencia.
  • Pasión por mejorar
    Debe estar buscando cómo mejorar sus habilidades para convertirse en alguien más valioso.

Y esos serían los requisitos "mínimos". ¿Cuántos cumplís vos?

Adobe AIR: más aplicaciones web sin…

MovableType 4.0 Beta, GPL pronto


blog comments powered by Disqus