La idea de este post es plasmar cinco habilidades claves que un Desarrollador de Software necesita de forma indispensable (a criterio personal), entendiéndose Desarrollador de Software como todo aquel que participa en el proceso de construcción de un producto de Software.

Fácil de entender y muchas veces difícil de aplicar.

La industria de la tecnología es muy dinámica, a veces más de lo que realmente nos gustaría; que sea dinámica implica que evolucione, se produzcan cambios y muchas veces se tenga que barajar y dar de nuevo con todo lo que esto implica, por estos motivos, considero que tener en claro las habilidades expuestas a continuación, ayuda a transitar el camino dentro del mundo Tech:

  1. Tolerancia a la frustración: Según la RAE podemos definir Toleranciacomo: ‘Respeto a las ideas, creencias o prácticas de los demás cuando son diferentes o contrarias a las propias’ y Frustrar como: ‘Privar a alguien de lo que esperaba’. Podemos juntar ambas definiciones y expresar la tolerancia a la frustración como: Capacidad de respetar ideas, creencias o prácticas de los demás cuando sean diferentes o contrarias a las nuestras incluso cuando nos veamos privados de algo que esperamos o deseamos’. En mayor o menor medida esto sucede continuamente en el entorno laboral, ya sea que trabajes en relación de dependencia o de forma independiente: decisiones de negocios, actualizaciones tecnológicas, dinámicas del trabajo en equipo, compromisos de entrega, etc, etc, etc… Sería ridículo pensar que siempre nos van a salir las cosas 100% como queremos, o incluso en el otro extremo, pensar que nunca vamos a poder aportar algo en todo el proceso, en ambos casos a veces hay excepciones y se da, pero siempre dentro de una ventana temporal acotada. Desarrollar la Empatía y Paciencia resultan claves a la hora de afrontar situaciones complejas como así también la capacidad de negociar, al final del día todo tiene un precio (no me refiero al dinero) y en situaciones poco favorables podemos tratar de ‘equilibrar la balanza’ realizando propuestas inteligentes en el momento adecuado.
  2. Adaptabilidad: ‘Lo único permanente es el cambio’ y ‘Todo fluye, nada permanece’, pensamientos atribuidos a Heráclito, aportan a entender la importancia de desarrollar esta capacidad. Tenemos que ser capaces de afrontar los cambios que se producen y moldearnos al nuevo entorno. Adaptabilidad a tecnologías futuras, a nuevos equipos de trabajo, a cambios en el entorno, a nuevas prioridades, etc. Lo que hoy funciona, mañana puede ser que no. Todo cambio trae nuevas oportunidades y resistirse a un cambio inevitable siempre será complejo de manejar.
  3. Resolución de problemas: Muchas veces la capacidad de resolución de problemas es más importante que demostrar expertise en otros aspectos. Probablemente sea la habilidad más requerida. Alguien que puede resolver problemas demuestra que puede adaptarse, que tiene pensamiento analítico, que tiene inteligencia emocional, gestión del riesgo y toma de decisiones, entre otros. Es una habilidad que requiere tiempo y práctica para su desarrollo. El desarrollo de software es resolución de problemas, y si por algún motivo no se te da esto de la resolución de problemas, probablemente el desarrollo de software no sea la actividad más indicada.
  4. Comunicación: Tener una buena capacidad de comunicación es clave tanto para la vida laboral como personal. Trabajo en equipo, reuniones de negocio, discusiones técnicas, propuestas, etc… todo se basa en la comunicación. Escuchar activamente, no interrumpir a los demás mientras se expresan, hablar en forma clara y con convicción también preguntar cuando algo no se entiende es muy importante. Muchas veces sucede que al estar acostumbrados a interactuar con dispositivos se hace compleja la interacción entre humanos (es un problema frecuente dentro del mundo tech), el problema básico es que las personas no son criaturas lógicas y claramente hay que ser capaz de interactuar de una forma eficiente no solo con los dispositivos.
  5. Autonomía: No conozco un desarrollador de software que no sea autónomo, algunos más, otros menos, pero autónomos al fin. Si por esas cosas de la vida te gusta ser dependiente, que te digan todo antes de hacer algo, definitivamente el desarrollo de software no es para vos. Necesaria para el día a día, no significa que se trabaja aislado ni nada por el estilo, significa que hay que ser capaz de gestionar la incertidumbre, los impedimentos que se presenten, tomar responsabilidad sobre lo que nos corresponde, vivimos tomando decisiones todo el día. En el trabajo en equipo, muchas veces el ser muy autónomo o muy dependiente termina siendo un impedimento y un problema para el equipo completo, con esto quiero decir que por más que a nivel personal podamos ser autónomos, a veces hay que regular la dosis dependiendo del contexto.

Si te gustó este artículo no te olvides de compartirlo! También te invito a ver mi canal de YouTube, o si estás en X , ayudarme compartiendo el link.