Una de las dudas que más nos plantea el alumnado de HACK A BOSS durante nuestra formación es: ¿qué es lo que hace falta para ser un buen developer?

Y, realmente, no es una pregunta sencilla de responder. Cada puesto exige ciertas habilidades específicas y existen tantos tipos de developers como de personas, por lo que nos sería imposible sintetizar exactamente las cualidades que distinguen a un buen developer.

Cuestión de perspectiva

Con la inestimable ayuda de nuestros equipos de talento y recruiting especializado hemos intentado dar con esas cualidades que, definitivamente, distinguen a una persona que se convertirá en un as de la programación.

  • Nunca dejan de aprender

    Vivir inmerso en el mundo tecnológico es sinónimo de vivir en un mundo extremadamente cambiante. A pesar de que los lenguajes de programación más usados tienen 10, 20 o incluso casi 30 años, un developer tiene que estar siempre al tanto de los nuevos lenguajes, las nuevas tecnologías y las tendencias más importantes del sector.

    Detrás de un gran developer siempre habrá una mente inquieta
    , que no para de aprender en cada proyecto, a fin de cuentas, programar puede ser una forma más de resolver problemas.
  • Tienen una capacidad analítica

    Como hemos dicho anteriormente podríamos definir la programación como un método de resolver problemas complejos. Cuando estás metido hasta el fondo en un desarrollo es totalmente necesario tener una buena capacidad de análisis que nos ayude a resolver ese problema concreto, que nos empuje a ir más allá y resolver lo que tenemos en nuestra pantalla.

    Pero… ¿Y sí no tengo una capacidad analítica innata? ¡No te preocupes, todo se puede aprender! Adquirir la capacidad de desarrollar ayuda a estructurar tu mente, tu modo de pensar y tu manera de enfrentarte a los problemas.
  • Saben atenerse a un plan

    Característica muy relacionada con la anterior, cualquier etapa de desarrollo exige dividir por fases el proceso completo, estructurarlo y comprometerse con unos tiempos; es decir, crear un plan y atenerse a él.

    La creación de cualquier producto o servicio de software exige rapidez, adaptación al cambio y agilidad. Si por naturaleza ya eres una persona ordenada y acostumbrada a cumplir con objetivos y metas no tendrás problemas con esta habilidad. Por el contrario, si la capacidad organizativa y la habilidad de trabajar por etapas de forma ordenada y sistemática no es tu fuerte, tendrás que aprender a trabajar con este tipo de metodologías ágiles, muy propias en los entornos de desarrollo.
  • Poseen gran atención al conjunto

    Pese a que quizá asociamos la idea de developer con una persona enfocada extremadamente al detalle, esto no es lo más positivo. Un buen developer tiene que tener en cuenta toda la imagen general cuando se desarrolla.

    Ya lo decía Aristóteles 2000 años antes de la invención del PC: “el todo es mayor que la suma de las partes”. Este mismo principio aristotélico aplica también al desarrollo, es decir, un developer tiene que tener en cuenta el todo antes que las partes.
  • No temen a la práctica

    Tenemos claro que desarrollar es una manera de resolver problemas, ¿no?, pues cuanto más practique una persona más hábil será resolviendo problemas. Practicar, practicar y practicar es una manera de mejorar nuestras capacidades de desarrollo, dado que no deja de ser como poner en práctica cualquier otro lenguaje.

    Esta es una de las razones por la que verás a muchos developers compaginando un trabajo por cuenta ajena como trabajos freelance, ¿qué mejor manera de practicar que asumiendo trabajos por cuenta propia?
  • Creatividad, pensamiento lateral y curiosidad

    Solucionar ciertos problemas a menudo suele requerir de una solución creativa o de una aproximación al problema diferente cuándo se está atascado. Con una mente estructurada ya para la resolución de problemas la creatividad se va desarrollando casi de manera automática, como un “¿y sí?" Constante.

    La curiosidad surge de la misma manera, buscando cómo solucionar ciertos problemas, probando alternativas nuevas, inspeccionando el código de otros productos digitales o que han desarrollado otros developers.
  • Saben jugar en equipo

    Existe un estereotipo del que las series y las películas abusan: la del developer solitario. Este estereotipo no podría estar más alejado de la realidad. A menudo los desarrollos involucran a equipos enteros de desarrollo, a clientes, a diseñadores… Por lo que saber trabajar en equipo es un must para convertirse en un developer estelar.
  • No intentan reinventar la rueda

    Una vez que se adquiere cierta experiencia desarrollando, tiendes a ver que hay ciertos problemas que se repiten una y otra vez, y que hay una solución adecuada y aceptada para resolverlos. Un developer con experiencia no debe intentar sobre-complicar los procesos, tiene que aceptar esas soluciones y seguir adelante, es decir, no intentes reinventar la rueda.

    Además de ahorrarte una cantidad enorme de tiempo, mantener tu desarrollo simple y aplicar soluciones ya testadas hará que tu código contenga menos errores y sea más funcional.

La importancia de las soft skills

Creatividad, práctica, atención al conjunto… hemos destacado muchas habilidades necesarias para ser un gran developer, pero hay una serie de habilidades, las denominadas soft skills, que nos ayudan a encajar en el lugar de trabajo, a comunicarnos con el resto del equipo o resolver conflictos de una mejor manera.

Estas habilidades son igual de importantes, por eso en nuestro bootcamp full stack le dedicamos un tiempo a aprenderlas y desarrollarlas, dado que le da sentido al resto de habilidades o potencia esas destrezas que nos llevaran a ser un gran developer.