Soft skills necesarios en el desarrollo de software

El día de hoy me gustaría compartir la segunda parte de los consejos que me hubiese gustado recibir cuando empecé mi camino desarrollando software.

Soft skills necesarios en el desarrollo de software
Photo by Mimi Thian / Unsplash

1. Comunicación

Como saber expresar las ideas que tienes en tu cabeza de manera escrita y oral es una de las habilidades profesionales más importantes. Me ha tocado trabajar con profesionales del software que son incapaces de mantener una conversación o solicitar ayuda de forma adecuada y eso resultaba en que los demás del equipo no quisieran trabajar con ellos.

Por el contrario, la gente asume que alguien que se sabe comunicar de manera efectiva en ámbitos profesionales es excelente en su trabajo y es capaz de generar valor en el o los proyectos en los que trabaja.

Otro ejemplo que me proporcionó un buen amigo:

Si la gente me pregunta que tan buen profesional soy, normalmente le platico experiencias previas. Como esa en donde disminuí el costo de combustible para la empresa A y le ahorramos millones.

Mostró que era bueno profesionalmente, con dos oraciones en vez de saturar con palabras técnicas rimbombantes.

Recuerda: la comunicación es una habilidad. Si la practicas, mejorarás.

2. La felicidad de tu vida no está dominada por tu carrera profesional

En este momento pareciera que lo que haces, estudias (en general a lo que le dedicas tiempo) de tu carrera profesional es muy importante para tu vida. Pero lo más seguro es que no creas en esto por siempre. Suena a cliché, pero debes de trabajar para vivir, no vivir para trabajar.

Conozco mucha gente que por vivir trabajando y/o practicando nuevas tecnologías ha tenido problemas de salud, en sus relaciones y en su autoestima. No permitas que eso te pase.

3. Adaptabilidad

Como profesional del software debes de estar cómodo con el cambio. Debes de ser capaz de cambiar de herramientas, de entornos, de reglas de negocio y de prioridades sin mayor problema. Se que esto puede parecer difícil a veces y lo es, pero mientras mejor y más fácil puedas adaptarte a los cambios, serás más feliz.

Ahora, esta adaptabilidad no quiere decir que cada que salga una nueva tecnología tienes que ir hacia ella por miedo a quedar desactualizado o por el miedo a quedarte fuera. Créeme, no te estás perdiendo de nada. Recuerda, tu no eres tu stack tecnológico.

No caigas en las modas de los nuevos lenguajes o librerías y mucho menos te conviertas en ese profesional que se la pasa haciendo tutoriales/cursos o proyectos que no van a ningún lugar. Ese tiempo perdido, lo estás pagando tu y la gente que te rodea.

¿Tu producto está en LAMP y pero está bien hecho y te hace feliz? Fantástico. No tienes porque cambiar a hacer algo en, no sé, ¿scala? y convertir todo a microservicios. Saber adaptarse también requiere que tengas la inteligencia para saber cuándo vale la pena un cambio o solo te sirve de referencia para después.

Recuerda, la elección de la tecnología debe ser siempre para la resolución correcta de un problema y esa decisión no debe de venir de un sesgo emocional o por el "hype" de la gente que vez en internet.

Nobody cares if you don't go to the party.
Photo by Sigmund / Unsplash

3. Empatía

Si bien es cierto pasamos mucho tiempo con computadoras, debemos de tener la capacidad para comprender o sentir lo que otra persona está experimentando en un momento dado.

Un ejemplo sencillo sería que nosotros como profesionales del software, somos responsables de comprender a los usuarios finales, ponernos en sus zapatos y trabajar en consecuencia. No podemos permitirnos dejar un módulo sin acabar o no pensar en la experiencia de uso (como lo vimos aquí en el problema de la intangibilidad del software)

Esta habilidad no solo se limita a los usuarios. También a las personas con las que trabajamos deben de recibir este trato, si algo no fluye, debemos de encontrar la mejor manera para solucionar el problema. Recuerda, la verdad sin empatía es crueldad.

4. Paciencia

Solucionar problemas con tecnología es una actividad que requiere meticulosidad. Detalle en entender las solicitudes de nuestros clientes, precisión en encarar y comunicar cuando las cosas no están bien y además seguir en la calma mientras el compilador o la herramienta marca un error por alguna omisión o falta de infraestructura. Un profesional del software que pueda soportar todo lo anterior, podrá trabajar con mayor productividad y podrá ser tolerante ante fallos inesperados.

Recuerda siempre que la paciencia es la clave del éxito de todo programador a largo plazo y además brinda una perspectiva más amplia para trabajar en sus niveles de estrés.

Conclusión

El día de hoy abarcamos unos cuantos consejos enfocados en soft-skills que considero básicos cuando empezamos nuestras andanzas en trabajos enfocados en desarrollo de software. Nuestro siguiente artículo estará enfocado en las habilidades de equipo que consideramos más importantes.