¿Qué tipo de programador eres?
Published at
- php
- senior
- software
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.