El concepto de deuda técnica, es bastante conocido en el mundo del desarrollo de software. Cuándo haces las cosas mal, o no todo lo bien que deberías, vas acumulando deuda. Los intereses de esta deuda van creciendo a lo largo del tiempo, hasta que al final no puedes pagarla. Acabas con aplicaciones obsoletas, difíciles de evolucionar y con muchos fallos. Y para solucionar los fallos generalmente, tienes que pasar por un verdadero infierno. Así que como consejo general, compórtate como un buen Lannister y siempre paga tus deudas técnicas.
Pero hoy no quería hablar de la deuda técnica aplicada al software, si no la deuda técnica aplicada a los programadores.
Deuda técnica aplicada a los desarrolladores
No sé si el concepto de deuda técnica puede aplicarse a las personas, pero yo creo que la analogía es bastante acertada. La deuda técnica yo la aplico a personas que se quedan obsoletas por diversos motivos. Pero además sin darse cuenta. Personas que están desempeñando un trabajo como programadores, pero que al no evolucionar, se quedan estancadas. Mientras sigan en su puesto de trabajo todo irá bien. La experiencia ha hecho que sean eficientes realizando tareas habituales. Pero si por alguna razón pierden su trabajo, o desean buscar otro, se dan cuenta de que cargan con una deuda técnica demasiado grande a sus espaldas.
Y es que, en nuestra vida profesional, la evolución que tengamos como programadores dependerá mucho de dos variables: la curiosidad personal y los equipos en los que trabajemos.
La curiosidad personal
Siempre se dice que un programador debe estar formándose continuamente. Tiene que estar al tanto de las últimas tecnologías, frameworks, lenguajes etc. Y esto es verdad, pero no es una obligación. Hay mucha gente que se dedica a desarrollar que tienen suficiente con lo que aprende en su trabajo. Prefieren dedicar su tiempo libre a algo que para ellos no sea trabajo. Es una opinión respetable, aunque yo no la comparto.
Si solo te conformas con lo que has aprendido en la Universidad, en un ciclo formativo o de tu experiencia, estás aumentando tu deuda técnica. En el sistema educativo español, existe una brecha importante entre lo que se enseña, y lo que en realidad se aplica en el mundo real. Y la experiencia, dependiendo de el entorno en el que trabajes, puede no ser suficiente para hacerte progresar.
Como dije en el artículo ¿Y por qué tengo un blog? yo empecé tarde a escribir. Y también tardé mucho en darme de alta en Twitter. ¿Por qué digo esto? Porque ambas plataformas son muy útiles para aprender.
Con el blog he descubierto que escribir artículos sobre programación me ayuda mucho a aprender. Al poner cosas por escrito fijas los conceptos. Y al buscar cierta calidad en los artículos, te obligas a consultar muchas fuentes de información. Libros, artículos téncicos, charlas técnicas. Acabas formándote sin darte cuenta.
En Twitter he podido seguir a grandes desarrolladores, que comparten sus experiencias e ideas. Lo que se aprende ahí es algo impagable. Y todo a través de una pantalla de ordenador o de un móvil. Más simple no puede ser.
Los equipos y proyectos en los que trabajamos
Como he dicho antes la experiencia puede no ser suficiente para hacerte evolucionar como programador. Es algo que depende mucho de los proyectos a los que te dediques y los compañeros que te rodeen.
A veces, nos quedamos estancados en la zona de confort. Ahí estamos muy cómodos, porque los problemas que se nos plantean no son un reto y somos capaces de solucionarlos sin mucho sufrimiento. Incluso aunque tengamos curiosidad personal por aprender, no salir nunca de la zona de confort puede hacer que aumentemos nuestra deuda técnica personal. Esto depende, claro está, de los proyectos en los que trabajemos. Si son proyectos típicos, en los que a los pocos meses ya eres capaz de enfrentarte a cualquier problema, porque son todos iguales, estás aumentando tu deuda técnica. Si trabajas en un proyecto en el que nunca se busca mejorar, si no que se lleva más el “si funciona no lo toques”, también estás aumentando tu deuda técnica.
Para evitar esto es mejor estar rodeado de buenos compañeros. La deuda técnica se contagia, y si estás en un equipo que no quiere corregirla, o no es consciente de sufrirla, acabarás aumentando la tuya. Si estás en un equipo dinámico, en continua formación, colaborativo y que intenta siempre mejorar, evolucionarás mucho como programador.
La pena es que encontrar equipos buenos no depende solo de nosotros. Al final tenemos que pagar las facturas. Necesitamos un sueldo y muchas veces nos vemos obligados a realizar trabajos que no nos gustan. Pero a veces hay que arriesgarse y buscar algo mejor.
Así que ya sabes, sé un buen Lannister y paga también tu deuda técnica personal.
¿Quiéres que te avisemos cuando se publiquen nuevas entradas en el blog?
Suscríbete por correo electrónico o por RSS