viernes, 25 de marzo de 2022

Los niveles del seniority


 

Los niveles del seniority

¿Junior, Semi senior o Senior? ¿Cuál es tu nivel de carrera profesional o de experticia o de habilidad para resolver los problemas que una organización te plantee? Siempre me pareció que la distinción de niveles de experticia no es para nada algo claro ni uniforme. Pues, no existe una fórmula estándar de clasificación. Cada empresa tiene sus propios estándares; y las que lo tienen, porque muchas lo manejan a ojo.

Sin embargo, parece que la mayoría reconoce los típicos tres niveles: Junior, Semi senior y Senior. ¿Es así? No tanto. Tampoco es un estándar claro. De hecho, en las empresas de tecnología de Latinoamérica es común incluir internamente un nivel amateur o ‘trainee’. Que suelen ser personas sin experiencia, que hacen pasantías o están iniciando y aprendiendo en un perfil dado. Realmente no alcanzan a ser ‘Junior’. Este nivel es como el cinturón blanco en artes marciales. Si eres blanco es porque todavía no tienes ningún color. Ser Junior sería como ser cinturón amarillo. Un naranja podría ser un Semi senior y un Senior color verde.

En general puedes googlear y encontrar frecuentemente esta escala:

  • Trainee: Aquel que está estudiando o finalizando sus estudios y no cuenta con experiencia profesional. Este nivel requiere de supervisión y suele estar acompañado de capacitaciones y seguimiento de otros miembros de la organización.
  • Junior: Aquel que está empezando su carrera profesional y tiene, usualmente, menos de dos años de experiencia en el rubro. Suele necesitar ayuda para llevar a cabo algunas tareas y tiene mucha capacidad de aprendizaje.
  • Semi senior: Aquella persona que cuenta entre 2 a 6 años ejerciendo su profesión de forma ininterrumpida. Es autosuficiente y tiene un buen manejo de sus herramientas y habilidades de trabajo.
  • Senior: Es una persona que cuenta con más de 6 años de experiencia en el rubro, toma decisiones sin necesidad de supervisión e incluso puede capacitar a otras personas.

Aunque, como dije, estos niveles no son un estándar. Y suelen ser algo subjetivo y coyuntural de la empresa en cuestión. Le puedes preguntar a dos personas del mismo área "qué es un Semi senior" y de seguro te contestarán cosas distintas. De hecho hay empresas en la que no se habla de ‘Semi Senior’, sino de ‘intermediate’ o de un ‘Mid-Level’. También dependerá del país, por ejemplo en Brasil se suele tratar a los ‘Semi senior’ como ‘Pleno’. Incluso, empresas referentes en informática como Google, Apple, Amazon o Microsoft no manejan esos niveles en sus planes de carrera.

Aunque la mayoría de empresas notables en el mundo de la tecnología tienen sistemas de nivelación claramente definidos, todavía hay inconsistencias en los niveles entre las empresas. Por ejemplo, Google y Apple tienen ocho niveles en su escala de ingeniería de software, mientras que Amazon tiene seis, Facebook siete y Microsoft trece.


En general, las empresas establecidas expresan los niveles en función del impacto y complejidad que el candidato aporta a la organización. Por ejemplo, cuanto más alto es el nivel, mayor es el impacto y complejidad a que el profesional se enfrenta. Con base en este enfoque, una buena descripción estándar de niveles de carrera es la descrita por Levels.fyi. Esta startup usa datos para decodificar los oscuros “niveles” utilizados por las distintas empresas de tecnología para clasificar los trabajos. En su clasificación estándar de ingenieros de software define los niveles: Entry Level Engineer, Software Engineer, Senior Software Engineer, Staff Engineer, Principal Engineer y Distinguished Engineer.


  • Entry Level Engineer (Junior): Desarrolla y mantiene componentes de menor complejidad con la orientación y el apoyo de miembros del equipo experimentados.
  • Software Engineer (Semi senior): Desarrolla y mantiene componentes de complejidad baja a moderada trabajando en equipo. Recibe una cantidad mínima de orientación y apoyo de sus compañeros de alto nivel.
  • Senior Software Engineer (Senior): Desarrolla y mantiene componentes moderados a complejos. Posiblemente liderar un pequeño equipo o proyecto. Capacidad para asesorar a otros ingenieros, proporcionar orientación técnica, revisiones de códigos, diseñar y entregar proyectos pequeños de principio a fin. El impacto suele estar en el ámbito inmediato del equipo. Esto generalmente se considera un “nivel de carrera”, ya que puede pasar el resto de su carrera operando en este nivel.
  • Staff Engineer (Senior Advanced): Se espera que lidere y sea propietario de iniciativas técnicas complejas. Comenzar a establecer la visión/dirección futura del equipo. Impacta en múltiples equipos relacionados dentro de una organización. El rol cambia más hacia el diseño que hacia la implementación, según el tamaño o las expectativas de la empresa.
  • Principal Engineer (Principal): El impacto se extiende a través de las organizaciones. Encargado de proyectos críticos para el negocio y para establecer la visión técnica para una organización o varias organizaciones. Responsable de revisar y proporcionar comentarios sobre diseños técnicos en una organización. Poca o ninguna codificación diaria. El rol depende en gran medida de las necesidades de la organización o de la empresa y se vuelve vagamente definido. Se espera que funcione de forma totalmente autónoma.
  • Distinguished Engineer: El impacto se extiende por toda la empresa y, a veces, por la industria.

¿Y qué sobre la cantidad de años de experiencia? Aún más subjetivo. Si ya es difícil ponerse de acuerdo en cómo categorizar, menos habrá consenso en determinar la experiencia en años de cada nivel.

Cabe aclarar que no sumamos toda la trayectoria recorrida a lo largo de la vida, sino que contabilizamos cada puesto o perfil ocupacional por separado. Una cosa es Analista Funcional y otra Ingeniero de Datos, son cantidades de años de experiencia distintas. Y se pueden ver como seniorities distintos. Aunque algunas empresas directamente tratan a todos como Software Engineer y suman la experiencia dentro de la empresa. Pero las empresas IT que hacen micro-clasificación tienen cierta particularidad, porque normalmente no cuentan sus años de experiencia como programador, por ejemplo, sino los años en los que maneja determinada tecnología o determinado lenguaje de programación. Así, pueden considerar a alguien como Sr. desarrollando en .Net, pero Jr. en Java, aún cuando en ambos casos es programador. O incluso un ‘Software Engineer Senior’ puede ser Junior en un determinado stack tecnológico (como MERN, J2EE, LAMP, etc.) o lenguaje de programación. O sea que los niveles y años de experiencia se pueden usar tanto para planes de carrera (‘path de carrera’) como también para nivel de experticia en un campo o tecnología dado.

Como pudimos ver, es realmente incorrecto asumir que hay una X cantidad de años que se corresponda con un determinado seniority. Aunque la experiencia en años es solo una variable más, que por sí sola no nos dice nada. Aunque ayuda a evaluar otras aptitudes o características más importantes. Pero… ¿cuáles? Hasta el momento vimos las variables de impacto, autonomía y complejidad. Cuanto mayor seniority, más años de experiencia, mayor impacto, autonomía y complejidad.

Un modelo que puede ayudar para analizar habilidades y competencias es el modelo Dreyfus. El mismo analiza el conocimiento (Knowledge), el estándar de trabajo (Standard of work), la autonomía (Autonomy), cómo se afronta la complejidad (Coping with complexity) y la percepción del contexto (Perception of context). Si bien el modelo de Dreyfus usa otras categorías de seniorities, de todos modos se pueden cruzar estas variables de competencias con los grados de escalafón o seniorities que te plantees.




También se pueden agregar habilidades blandas y sumamos la cereza al pastel y así puedes crear tu propio modelo de niveles de seniority y tu propio modelo de madurez de desarrollo profesional. Como un camino de artes marciales donde llegamos al cinturón negro cuando llegamos a ser ‘principal’.

Una habilidad blanda relevante es el liderazgo. El liderazgo está parcialmente relacionado a la autonomía. Cuanto mayor seniority, mayor autonómia y mayor capacidad de liderazgo. Solo que se trata de liderazgo ejemplar. El de liderar a otros profesionales, principalmente desde el ejemplo y referencia técnica. No todo tipo de liderazgo se correlaciona con el seniority (por ejemplo el carismático). También puede suceder que una profesional con seniority muy alto no sea un buen líder. Por esta razón el liderazgo no debería ser un seniority, sino que es más bien parte de un perfil o rol.

Por último, me gustaría comentar que los niveles del seniority no solo aplican para desarrolladores de software o ingenieros de software, en realidad aplica para cualquier perfil profesional, inclusive para el management. 

Espero que este artículo te haya servido para despejar alguna duda respecto a los seniorities y fue una excusa para mostrar un modelo de seniorities que uso en algunas oportunidades.


Referencias: