¿Qué tipo de programador eres?

Published at

Hace unos meses leí un artículo publicado en la revista de Software Gurú por Basilio Briseño donde planteaba que PHP es de los lenguajes menos pagados en Mexico y por qué eso sucedía. En su articulo también publica un tabulador del tipo de programador hecho por el grupo de programadores “PHP México”.

Aunque el tabulador está orientado a las habilidades de un programador de PHP, el concepto del tipo de programador que en cada sección se lista da a entender lo que se espera que un Novato, Junior, Senior o Master developer debe ser para poder caer en la clasificación.

El tabulador podría generalizarse de la siguiente manera:

Novato. Generalmente escribe código sin consistencia en indentación o convenciones y acostumbra a copiar y pegar cualquier cosa que se encuentra en internet que parece hacer lo que se le pidió entregar y que según dicen los foros es la solución.

Aprendiz. Ha aceptado que necesita mejorar y decide aprender mejores prácticas y aplicarlas. Consulta en foros no para buscar código para copiar y pegar, sino para analizarlo y pregunta después de haber investigado por cuenta propia.

Junior. Sabe qué son los patrones de diseño y los utiliza, entiende qué es MVC, REST, CRUD, ORM, SQL Injection, XSS, I/O Sanitization, etcétera, y usa estas y otras técnicas, así como mejores prácticas; es excelente aprendiendo y usando APIs de terceros.

Senior. Es capaz de desarrollar sus propias herramientas y APIs; es consciente de cómo funciona su lenguaje de dominio internamente, está sumamente interesado en el desempeño de las aplicaciones más allá de su facilidad de desarrollo; no está satisfecho con el funcionamiento de todas las herramientas y APIs de terceros tal cual vienen y siempre busca innovar y crear cosas que mejoren el desempeño, faciliten su trabajo y la velocidad de sus entregables; contribuye con código en diferentes proyectos y comunidades.

Master. Es capaz de desarrollar sus propias extensiones, gemas o librerías, u optimizándolas para su mejor uso, contribuye a proyectos Open Source y normalmente se dedica a mejorar el desempeño de aplicaciones de alto rendimiento. Conoce bien el lenguaje de dominio, su origen y diferencias respecto a otros.

Core. Contribuye al desarrollo del core del lenguaje de dominio; contribuye en algunas extensiones, gemas o librerías y herramientas públicas; es un ponente frecuente en conferencias internacionales y es usual ver su nombre en los créditos en cambios de versión de su lenguaje de dominio.

Entonces… ¿Que tipo de programador eres?

Muchos se nombran Senior tras años de trabajo, o expertos en algún framework o lenguaje cuando solo hacen tutoriales; sin embargo tu trabajo y contribución y el cómo afecta en otros lados (no solo en donde trabajes) habla mejor del tipo de programador que eres.


Next article:

Manejo eficiente de Webhooks con Ruby on Rails

Cuando implementas sistemas de pagos como Paypal o Stripe, la parte más tediosa de implementar son los webhooks. En este post te explicaré de que forma puedes optimizar la implementación de tu webhook de forma limpia y ordenada.