¿Existe un término bien adoptado para un desarrollador con un conjunto de habilidades entre un desarrollador junior y senior?

Los términos generales "junior" y "senior" para los roles de desarrollo abstraen muchas de las minucias del conjunto de habilidades de un desarrollador, lo que me parece bueno o malo según el contexto. De la forma en que lo entiendo, "senior" es el término más concreto, y hay interpretaciones y expectativas más específicas a su alrededor que son más fáciles de asumir/deducir de la frase sola.

Sin embargo, hay un cambio adicional con el término "junior". Sí, existe el término "nivel de entrada", pero no es tan ampliamente adoptado como el término "junior". He trabajado con "jóvenes" que no saben prácticamente nada sobre la tecnología más allá de completar tutoriales simples, jóvenes que no tienen experiencia en otras tecnologías más allá de un idioma o entorno y no saben control de fuente ni nada más, jóvenes que conocen numerosos tecnologías y tienen un conocimiento profundo de la arquitectura lo suficiente como para tener opiniones valiosas dentro del contexto de un proyecto, y jóvenes que tienen capacidades generalizadas y están cerca de los mayores pero aún no están allí. Todos ellos para bien o para mal se consideran "junior", lo que me parece impropio.

Para ilustrar, usaré Major League Baseball:

  • Jugador novato -> Desarrollador de nivel de entrada
  • Jugador Clase-A --> Desarrollador Junior
  • Jugador Doble-A --> Desarrollador Junior
  • Jugador Triple-A --> Desarrollador Junior
  • Jugador de Grandes Ligas --> Desarrollador sénior

Hay mucha abstracción que puede sobrevender o subestimar el conjunto de habilidades de un desarrollador "junior" más allá de los otros términos.

Entonces, ¿hay algún término o frase comunicativa que exprese el nivel de habilidad de un desarrollador "junior" con mayor precisión que el término general "junior"? Me doy cuenta de que es un papel difícil de definir, pero tenía curiosidad.

La habilidad en el béisbol es mucho más fácil de cuantificar y medir que la programación.
Entiendo que de ahí mi comentario al final. Era solo para ilustrar mi punto.
He visto el término 'Medior' utilizado con respecto a los desarrolladores.
Simplemente "desarrollador" o "desarrollador de Java" para Java.
El "peso mediano" también surge. Aunque, es tan misterioso para mí lo que esto significa como lo es para "Senior" y "Junior".
Incluso junior senior está bien establecido en mi opinión.
De ninguna manera Jugador de Grandes Ligas --> Desarrollador sénior. Si eres lo suficientemente bueno para ser reclutado, eres bueno. Jugador novato --> Pequeñas Ligas.
¿Qué hay de considerar años de experiencia? No describe directamente el conjunto de habilidades, pero puede ser un buen indicador y más fácil de definir para que todos sepan lo que significa.
Centrado en el Reino Unido, pero esta es la jerarquía que he visto. Desarrollador en prácticas (opcional, puede subsumirse en Junior. Implica < 1 año de experiencia). Desarrollador Junior (implica <2-3 años dependiendo de la habilidad). Desarrollador de software (a veces llamado mid. Normalmente significa entre 18 meses y 8-10 años). Desarrollador sénior (no visto con menos de 3 años de experiencia, podría tener cualquier año en general. Ventana de promoción normal de 5 a 6 años). Desarrollador líder (no me he encontrado con uno con menos de 5 años de experiencia). Toda la experiencia se refiere a la experiencia laboral posterior a la graduación.

Respuestas (2)

Los títulos de trabajo dependen totalmente de la empresa y, a menudo, no tienen sentido en términos de juzgar el conjunto de habilidades.

Trabajé para una empresa en la que TODOS eran ingenieros senior, incluido el tipo que mantenía limpio el taller y los aprendices de la universidad técnica local. Se veía mejor para la empresa publicitar su sólido equipo de ingenieros senior de 30 personas y en los correos electrónicos.

Al elegir títulos de trabajo para una empresa, una cosa a tener en cuenta es cómo se ven externamente, ¿agregan un aspecto prestigioso a la empresa? ¿Se pueden utilizar en publicidad? etc,.

No existe una jerarquía de títulos universalmente aceptada. Lo mejor en lo que he trabajado fue en tres niveles.

Ingeniero Junior

Ingeniero

Ingeniero superior

Pero incluso entonces, uno de los muchachos senior obtuvo su título (y pago) a través de la política de la oficina en lugar de un conjunto de habilidades.

Diría que el desarrollador intermedio es un buen término medio. Por lo general, alguien con entre 2 y 10 años de experiencia se incluiría en este grupo y es probablemente donde se encuentra la gran mayoría de los desarrolladores en la fuerza laboral. Aquí hay un ejemplo de publicación de trabajo. Como puede ver aquí, están buscando a alguien con al menos 2-5 años de experiencia.

Por lo general, estos desarrolladores pueden escribir código con solo un poco de supervisión para las tareas más rutinarias; sin embargo, generalmente no están demasiado involucrados con la arquitectura general del proyecto a menos que estén bajo una estrecha supervisión. Tenga en cuenta que esto es una generalización y, obviamente, hay desarrolladores que obtienen mucha más experiencia más rápido que otros o pueden estar en un nivel superior para su idioma preferido, pero en general pueden ser más intermedios.

La progresión también puede ser Desarrollador Junior, Desarrollador, Desarrollador Senior. O si quieres varios niveles, Trainee, junior, jornalero o desarrollador intermedio, desarrollador, desarrollador senior.