Esta es una pregunta capital que se hacen tanto los gerentes de equipo en las compañías de tecnología digital como los responsables de captación de recursos humanos en las empresas de reclutamiento IT, y lógicamente también los programadores. Y la respuesta fundamental es una sola: pericia, habilidad.

Los desarrolladores senior, sin que tengan que ser expertos en todo, sin duda tienen mucha más habilidad para cumplir con las exigencias de su trabajo que los desarrolladores junior y que los de nivel intermedio o semi senior.

¿Cómo establecer el nivel de desarrollador web?

Hay cinco factores que —sin duda— son fundamentales a la hora de establecer el nivel o categoría de un programador o desarrollador web según su experticia: 

  1. El conocimiento

    El conocimiento no lo es todo, pero es un elemento importante. Un programador senior, con más conocimientos que sus homólogos junior y semisenior, debe conocer bien los patrones de diseño, los lenguajes y los frameworks, los paradigmas de programación, las arquitecturas y las bases de datos. Y debe saber cómo trabajar en el desarrollo de software de forma autónoma.

    No así los desarrolladores junior, y en menor medida los semi senior, quienes aún requieren de cierto acompañamiento y son propensos a cometer errores por su menor experiencia.

  2. La codificación

    Otro aspecto fundamental que diferencia a los desarrolladores senior de los junior es su capacidad para la codificación. Mientras un programador junior se contenta de poder comunicarse con las computadoras, el programador senior tiene claro que debe comunicarse con otros desarrolladores, que probablemente trabajarán con él en un futuro, e instruir a las computadoras.

    Una diferencia clave entre programadores senior y junior tiene que ver con el hecho de que todo desarrollo de software ha de llegar en algún momento a manos de otro equipo y éste debe poder abrir el código y trabajar en nuevas funciones y/o correcciones que surjan a futuro.

    Por su parte, de las habilidades de codificación de los programadores de nivel medio solo diremos que son difíciles de precisar, pues éstos se encuentran en una zona intermedia de habilidad, muy probablemente más cercana a las de los programadores senior, porque ya han pasado por todo el ciclo de desarrollo de software al menos una vez y han podido aprender de sus errores. 

     

     

  3. La habilidad KISS

    El programador experimentado sabe que mientras más simple, directo e incluso tonto codifique, mejor (Keep it Short and Simple). El código escrito por un desarrollador senior siempre tomará en cuenta a las personas que trabajarán con él a futuro, y velará por su capacidad de mantenimiento y escalabilidad, a diferencia del junior, quien solo está pensando en hacerlo funcionar para la computadora.

  4. El nivel de supervisión

    Los desarrolladores junior tienen capacidad para realizar tareas simples o de bajo impacto, pero no llegan a desarrollar arquitectura de software por cuenta propia. Los semisénior, aunque cumplen tareas un poco más complejas, todavía no alcanzan el nivel para diseñar soluciones de forma independiente y aún requieren de supervisión. En cambio, los programadores senior sí cuentan con la capacidad para desarrollar una aplicación de forma completamente independiente.

  5. Su proactividad y capacidad para las preguntas correctas

    En la medida en que un desarrollador tiene más nivel, menos requerirá que se le guíe en su trabajo, que se le asignen tareas. Un programador senior asumirá su trabajo con mayor iniciativa, buscando y generando requerimientos, haciendo las preguntas del caso para seguir con la acción correcta. Incluso llegará a proponer nuevas asignaciones a su superior. En cambio, el junior esperará que le definan su trabajo, sin mayor capacidad para hacer las preguntas correctas de forma inmediata. Su falta de experiencia ameritará la orientación de otros desarrolladores más experimentados.

    En el caso de los desarrolladores de nivel medio, por su parte, estos deberían poder hacer las preguntas correctas siempre y cuando no se les asignen tareas altamente complicadas para las que carezcan del debido conocimiento.


¿Deseas convertir a los candidatos no seleccionados en promotores de tu marca? Te contamos cómo hacerlo en este artículo.


¿Cómo subir de nivel en el desarrollo de software?

Todo desarrollador aspira a mejorar de nivel. A continuación, te diremos cómo lograrlo: 

1. Para escalar de desarrollador junior a semisenior

  • Lo primero que tiene que hacer un junior para escalar al nivel medio es pasar por todo el ciclo de desarrollo de software al menos un par de veces.

  • Para codificar de la mejor manera, debes aprender a hacerlo de la forma más simple posible (Recuerda la premisa KISS). No olvides que otra persona va a trabajar con ese código.

  • Aprende a depurar lo que codificas; esto te dará una mejor comprensión de lo que está sucediendo en el proceso. Familiarízate con las mejores prácticas y aprende sobre arquitectura, rendimiento, seguridad, etc. Procura cerrar la brecha de conocimiento para llegar al nivel semisenior.

2. Para escalar de nivel semisenior a senior

Para alcanzar el nivel senior, debes prepararte para asumir las tareas que nadie sabe cómo solucionar. Algunos desarrolladores medios nunca escalan al nivel senior.

  • Debes concentrarte en aprender más que solo hacer tareas rutinarias y debes arriesgarte. Muchos desarrolladores senior saben qué esquinas se pueden acortar y cuáles nunca se deben acortar. Ello únicamente lo aprenderás al cometer errores.

  • También debes conocer tu stack tecnológica. Es importante que conozcas todas las herramientas y aplicaciones disponibles en la empresa donde trabajas.

  • Y muy fundamental, debes apoyar a los desarrolladores menos experimentados. Recuerda que eres su respaldo a la hora de las dificultades, ellos esperan contar contigo cuando no puedan resolver algo.

Una vez Martin Fowler dijo: “Cualquier tonto puede escribir códigos que una computadora entienda. Los buenos programadores escriben códigos que los humanos entienden”.