Seniority: algo más que solo años

Seniority: algo más que solo años
Photo by Daniel Chekalov / Unsplash

En una de las entrevistas más caóticas y difíciles de mi carrera profesional como desarrollador de software me preguntaron: "Tu que te consideras: ¿junior, mid ó senior?" Al instante respondí lo que pensaba: "No creo en esos títulos. Soy desarrollador con más o menos experiencia en ciertos temas."

Pareció que les dije que se fueran al demonio. Se limitaron a observarme de mala manera y a explicarme que tendría que escoger un término por el salario y por las responsabilidades. Me parecía increíble. ¿No es contradictorio? ¿No se supone que las entrevistas son para conocer la experiencia y con ello brindarme responsabilidades y salario? En ese momento no lo creía, me parecía sorprendente.

Esa experiencia pasó hace muchos años y las cosas no han cambiado mucho. Por desgracia, el mundo de la consultoría cree que un desarrollador senior tiene más de tres años de experiencia en determinada tecnología. Y ya. Pero, ¿porque tres años? ¿a caso no importa el negocio o el equipo? ¿son suficientes esos años para solventar, priorizar y dar soluciones acordes al negocio? ¿quién dijo que tres años era suficiente? No creo que este término tenga que ser respaldado solo por los años. Te pongo un ejemplo:

  • Desarrollador 1 trabaja desde hace 10 años en la misma empresa. Usa java con procedimientos almacenados en SQL Server y java server faces del lado del cliente.
  • Desarrollador 2 trabaja desde hace 3 años. Ha estado en 3 empresas de diferentes giros, usando java y c#. Conoce varios motores de base de datos  y varias tecnologías frontend.

Diferentes años, diferentes experiencias. ¿Es acaso el desarrollador 1 mejor que el desarrollador 2 o viceversa? No. No lo creo. ¿Son capaces de hacer lo mismo? Tal vez. ¿Tienen el mismo seniority? No lo sé. Es cuestión de contexto, ya que todo se basa en nuestra realidad como empresa

Woman sitting at a desk in front of coding computer screen

Photo by Kelly Sikkema / Unsplash

¿Qué tengo que hacer?

Cuando buscamos un desarrollador con experiencia deberíamos de preguntarnos qué necesitamos y enfocarnos en nada más que en eso.

¿Tiene experiencia en el giro de la empresa? Si soy un banco que usa java, vale mas la pena un desarrollador que tenga tres años de experiencia creando productos bancarios en c# que alguien que tenga 3 años de experiencia en java , pero haciendo cosas de marketing.

¿Tiene experiencia en la tecnología? Si soy una startup con un producto de alto rendimiento hecho en clojure, valdría más la pena alguien que tiene un año de experiencia resolviendo problemas de rendimiento en dicho lenguaje que alguien que ha programado en otras herramientas los últimos diez años.

Inclusive, ¿es éste desarrollador "senior", comparado con X? Donde X puede ser cualquiera que ya esté en tu equipo y demuestre tener habilidades técnicas y empresariales de alto nivel.

Mi conclusión

Para mí,  los roles y niveles en desarrollo son algo relativo y que debería de ser sustentado en el contexto empresarial, tecnológico y de equipo. Le doy más valor a la experiencia real basada en lo que necesito (negocio o tecnología) y a muchos otros factores, que solo a contar los años.

Ahí te la dejo, una reflexión más filosófica que técnica.