Esto variará, pero así es como lo veo en un lugar lo suficientemente grande como para tener distinciones entre los tipos de programadores.
Yo diría que el nivel de entrada y Junior son lo mismo. Acaban de salir de la escuela y tienen menos de dos años de experiencia laboral. Se les asignan las tareas menos complejas y se deben supervisar con bastante atención. Generalmente saben alrededor del 10% de lo que creen saber. Por lo general, no han pasado por todo el ciclo de desarrollo y, a menudo, toman decisiones muy ingenuas si se les da la oportunidad de elegir. Lamentablemente, a muchos de ellos no les importa cuál es el requisito, quieren construir las cosas a su manera. A menudo tienen malas habilidades de depuración.
El nivel intermedio es donde caen muchos programadores. Tienen más de dos años de experiencia y generalmente menos de diez, aunque algunos pueden permanecer en este nivel durante toda su carrera. Pueden producir código de trabajo con menos supervisión siempre que estén asignados a tareas relativamente rutinarias. En general, no tienen la tarea de un diseño de alto nivel o tareas muy complicadas que requieren un nivel de conocimiento profundo. Sin embargo, se les puede asignar el diseño de una parte de la aplicación, especialmente porque están en la zona para convertirse en desarrolladores senior. Son buenos en tareas de mantenimiento o tareas en las que pueden enfocarse solo en su pieza del rompecabezas, pero generalmente no se espera que consideren la aplicación como un todo a menos que trabajen con desarrolladores senior o estén preparados para ascender a senior. Por lo general, pueden hacer un trabajo decente de solución de problemas y depuración, pero tienen que esforzarse mucho para obtener los difíciles. Todavía no tienen suficiente experiencia para ver los patrones en los problemas que los señalan al lugar probable donde están ocurriendo. Pero están adquiriendo esas habilidades y rara vez necesitan pedir ayuda para la depuración. Probablemente han pasado por todo el ciclo de desarrollo al menos una vez y han visto los resultados de los problemas de diseño y están aprendiendo cómo evitarlos en el futuro. Por lo general, tienden a ser más propensos a tomar un requisito al pie de la letra y no retrasarlo cuando tiene problemas obvios o brechas. Han aprendido lo suficiente como para saber lo que no saben y están comenzando a obtener ese conocimiento. Son los caballos de batalla del mundo de la programación,
Nadie que sea de nivel superior incluso necesita hacer esta pregunta. Son expertos en sus conjuntos tecnológicos elegidos. Se les asignan tareas difíciles (las que nadie sabe cómo resolver) y a menudo obtienen responsabilidades de diseño. A menudo trabajan de forma independiente porque tienen un historial comprobado de entrega de productos. Se espera que sean mentores de desarrolladores junior e intermedios. A menudo son increíbles solucionadores de problemas. Se han encontrado con esos mismos problemas antes y tienen una muy buena idea de dónde buscar primero. Las personas mayores a menudo también son mentores fuera del lugar de trabajo. Generalmente tienen al menos diez años de experiencia y casi siempre han estado en al menos una marcha de la muerte y saben exactamente por qué hay que evitar algunas cosas. Saben cómo entregar un producto que funcione y cumplir con una fecha límite. Saben qué esquinas se pueden cortar y qué esquinas nunca se deben cortar. Conocen al menos uno y, a menudo, varios idiomas a nivel de expertos. Han visto muchas "nuevas tecnologías populares" llegar al lugar de trabajo y desaparecer, por lo que tienden a ser un poco más conservadores al subirse al carro para la próxima nueva herramienta de desarrollo emocionante (pero no completamente resistentes al cambio, esas serían las desarrolladores intermedios mayores que nunca dan el salto a Senior). Entienden que su trabajo es entregar software que funcione y haga lo que los usuarios desean, no jugar con herramientas divertidas. A menudo son más exigentes con respecto a dónde trabajarán porque pueden estar y porque han visto de primera mano lo malos que pueden ser algunos lugares. Buscan los lugares que tienen las tareas más interesantes para hacer. A menudo saben más sobre los productos de su compañía que cualquier otra persona, incluso si han estado allí solo unos meses. Saben que necesitan más que conocimientos de programación y también son buenos para obtener conocimiento sobre el dominio comercial que admiten. A menudo son conscientes de los problemas que los juniors nunca consideran y los intermedios a menudo no piensan, como asuntos regulatorios y legales en el dominio comercial que admiten. Pueden y harán retroceder un requisito porque saben cuáles serán los problemas y pueden explicar lo mismo a los legos.