Illustration by Icons 8 from Icons8

El skill más importante en un desarrollador de software

Nicolás Galdámez
Unagi
Published in
4 min readNov 26, 2020

--

Cuando retratan en las películas a los programadores vemos gente super inteligente, desalineada, comiendo pizza y escribiendo en sus teclados grasientos a toda velocidad, como si sus dedos tuviesen vida propia y se negaran a darle el control a su dueño.

Si sos desarrollador/a de software sabrás que esto está muy lejos de ser real. La mayoría no somos super inteligentes, cuidamos nuestras computadoras cual si fueran nuestros hijos y codear es solo una partecita de lo que hacemos en nuestro rol como desarrolladores.

Abraham Lincoln dijo alguna vez:

"Dame seis horas para cortar un árbol y pasaré 4 horas afilando el hacha"

y creo que representa muy bien nuestro trabajo. Un buen desarrollador pasa gran parte del tiempo analizando el problema y su posible solución en lugar de pasar directo a programar. Es mucho más valioso la forma de encarar los problemas que el saber cómo escribir una sentencia en un determinado lenguaje.

Podrás argumentarme que el lenguaje de programación también es importante, y no te lo voy a discutir. Sin embargo, a mí me gusta pensarlo más como una herramienta para traducir una solución a idioma máquina.

Llevo más de 10 años en la industria del software y desde entonces sigo viendo que, a la hora de entrevistar a sus candidatos, muchas empresas hacen foco en si sus postulantes dominan tal o cual teconología. Lógicamente, hay casos en los que es importante (nosotros hemos tenido algunos) pero creo que debe hacerse más hincapié en todo lo demás.

En las charlas con los candidatos/as en Unagi ponemos el ojo en conocer qué inquietudes tienen, qué proyectos encararon por hobbie, qué actividades les gusta hacer por fuera de lo laboral y, por sobre todo, cuántas ganas de aprender tienen. La experiencia nos indica que lo técnico es lo más fácil de aprender, pero las capacidades blandas son las más difíciles de incorporar.

Eso nos permite ver un costado distinto de la gente y no solo el que figura en su curriculum. Podemos ver, por ejemplo, si esos proyectos que encaró los continuó o abandonó, qué análisis inicial hizo y cuáles fueron los disparadores, si consideró distintas alternativas y por qué se decidió por una u otra, si se encontró con bloqueos y cómo los superó, si una vez terminado volvió a intentar mejorarlo y de qué modo, y mucho más. Creemos que esto dice mucho más de las personas que su conocimiento sobre cierto lenguaje de programación.

Entrenando nuestra cabeza

Te preguntarás cómo podemos entrenar nuestra cabeza para el análisis de problemas. De la misma forma que entrenás para cualquier cosa: haciéndolo mucho. Si aún no tenés experiencia o no sabés por donde arrancar, no te centres solamente en la tecnología. Buscá algún problema que te motive y te dé ganas de resolverlo.

Esa idea o problema no debe ser revolucionaria. El objetivo no es crear un producto para vender, sino un caso concreto que te permita desarrollar tus habilidades como analista. Te dejo algunos ejemplos para despertar tu creatividad: una aplicación de recetas de cocina para regalarle a tu tía, armar la versión digital de un juego de mesa para jugar con tus amigos, un recomendador de libros o películas, un relojito que le avisa a tu abuela cuando debe tomar el medicamento, etc. Incluso podrías intentar hacer tu propia versión de alguna aplicación existente. El límite es tu imaginación.

Cada problema que vayas resolviendo te irá presentando obstáculos que tendrás que ir sorteando, pero cuanto más tiempo dediques a pensar el problema y la solución, más fácil te resultará la etapa de programación. La experiencia que vayas ganando con esos obstáculos va a ser clave para formarte como profesional.

Por cierto, si tras el análisis no sabés para dónde ir con lo técnico, Internet puede ayudar mucho. Otro de los diferenciales de los buenos desarrolladores es saber googlear. Existen miles de proyectos open source, cursos online y comunidades enteras encantadas de compartir cosas. La mayoría de las dudas que nos surgen ya están resueltas y sólo hay que saber encontrar la respuesta.

Así que ya sabés, si aún no tenés experiencia, o no tenés idea por donde arrancar, te sugiero que no te centres solamente en la tecnología. Buscate algún problema y entrená tu cabeza como si se tratase de una maratón. Cuantos más problemas resuelvas, mejor. Y si lo podés hacer en equipo, no lo dudés. Lo que aprendas en ese camino te va a formar como persona y profesional.

--

--

Nicolás Galdámez
Unagi
Editor for

Co-fundador de @unagi. Me gusta el cine, la lectura, y la ensalada de frutas.