Las empresas lo suficientemente grandes como para distinguir entre tipos de programadores suelen buscar la contratación de desarrolladores junior o senior. La distinción entre ambos radica en su experiencia, pero estas definiciones nunca son inamovibles.
Los rangos de junior y senior están, según el entorno de trabajo, abiertos a la interpretación. Aunque no existe ninguna fuente autorizada que distinga entre cada rango, algunos han intentado definir el nivel de conocimientos y experiencia necesarios de diversas maneras.
Sijin Joseph, arquitecto jefe de software de Cegment, Inc., ha elaborado una matriz de competencias de los programadores para ayudar a los desarrolladores y a los empleadores a establecer una métrica sobre lo que constituye los niveles de experiencia junior y senior. La matriz, que abarca todas las facetas de la informática, la ingeniería de software y la programación, esboza diferentes niveles de conocimientos acumulados.
El modelo Dreyfus de adquisición de habilidades es otra métrica que se ha utilizado para evaluar cómo los estudiantes adquieren habilidades a través de la instrucción formal y la práctica. Las cinco etapas incluyen novato, principiante avanzado, competente, competente y experto, y han sido adaptadas por muchos para describir los niveles de experiencia que pueden adquirir los programadores.
Sin embargo, lo que ambas guías sugieren es que la experiencia es oro a los ojos de quienes contratan, pero el tipo de experiencia que se tiene es lo que cambia el juego.
Qué significa ser junior
Lo que las empresas esperan de un desarrollador senior
Los seniors se encuentran en el otro extremo del espectro y se clasifican como expertos en sus pilas tecnológicas elegidas. Son responsables de orientar a los miembros del equipo junior y tienen experiencia en la entrega de un producto que funcione y en el cumplimiento de los plazos de un proyecto.
Dependiendo del lugar de trabajo, también se les puede considerar líderes de proyectos y se espera que contribuyan a las cuestiones de arquitectura. El diseño de soluciones forma parte de su repertorio, pero estas propuestas siguen requiriendo un análisis y una aprobación antes de ser aplicadas.
La resolución de problemas para los desarrolladores senior podría considerarse casi un deporte: durante sus años de hacking se han encontrado con los mismos problemas que los juniors y los intermedios, por lo que tienen una buena idea de dónde buscar una solución. Los años de experiencia que han acumulado suelen calcularse en dos cifras.
Nada está escrito en piedra
Se sabe que algunos reclutadores utilizan palabras de moda para definir mejor las características que buscan en un candidato. La definición de senior de una empresa podría ser el desarrollador junior ideal de la siguiente: todo depende del entorno de trabajo.
Aunque las métricas y las mediciones son útiles hasta cierto punto, el tipo de experiencia que tiene un desarrollador es primordial para definir su título. Las métricas establecen los ideales para cada categoría de conocimiento, pero sería difícil encontrar a alguien que fuera capaz de responder a todas ellas.
¿Estás de acuerdo? Comparte tu opinión sobre las categorías de desarrolladores y sus diferencias a continuación.