Niveles de habilidad para profesionales IT

 

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.

Ahora bien, ¿cómo saber qué nivel de habilidad tiene un programador a la hora de ubicarlo en una de estas tres categorías?

Seguidamente pasaremos revista a los dos factores que consideramos básicos a la hora de juzgar el grado de experticia de un programador o desarrollador web, a saber:

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 semi senior, 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 es su comprensión 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, y seguramente ya han pasado por todo el ciclo de desarrollo de software al menos una vez y han podido cometer muchos errores y aprender de los mismos.

Otros aspectos importantes que tienen que ver con la valoración de un desarrollador en términos de senior, semi senior o junior son:

1)    Su capacidad para la codificación 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.

2)    En cuanto al 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 semi senior, aunque cumplen tareas un poco más complejas, todavía no alcanzan el nivel como 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.

3)    Otro aspecto relevante tiene que ver con la Proactividad y la 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 le asignen tareas altamente complicadas para las que carezcan del debido conocimiento.

¿Cómo subir de nivel?

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

1)    Para escalar de desarrollador junior a semi senior:

  • 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 niel semi-senior.

2)    Para escalar de nivel semi senior a senior:

Para alcanzar el nivel senior, debes prepárate 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 solo lo aprenderás al cometer errores.
  • También debes conocer tu stack tecnológico. Es importante que conozcas todas las herramientas y aplicaciones disponibles en la empresa donde trabajas.
  • Y muy importante, 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”

 

Autor: Julio Juárez Soriano

Especialista en Redacción

Departamento de Marketing Interfell

Dejar un comentario