DEV Community

Pedro Madrid
Pedro Madrid

Posted on

Trabajando con software legacy

Es preocupante que últimamente los ingenieros de software estén condicionando ser contratados o transferidos de un proyecto a otro aduciendo que no quieren trabajar con software legacy (también conocido como trabajo en proyectos de mantenimiento).
En el mundo de la ingeniería de software el hecho de tener que trabajar con software existente y en operación es bastante probable. Si no fuera así, entonces nunca saldríamos a producción, y no se cumpliría el objetivo principal del proyecto: brindar una solución tecnológica a una necesidad de negocio. Y como en todo negocio, el retorno de la inversión (ROI) es importante. Pagar una gran suma de dinero a un grupo de desarrolladores para que construyan un sistema que soluciona una necesidad de negocio, y que ese producto no vea la luz del sol, es una gran pérdida de tiempo y dinero. Así que es inevitable que en algún momento nosotros como ingenieros de software tengamos que dar soporte al correcto funcionamiento de un producto en operación.
Qué sentido tiene trabajar en un producto utilizando las últimas tendencias en diseño y tecnología, si finalmente no nos preocupamos por lo que en realidad es importante, que es el negocio? La finalidad de un proyecto de software no es poner servidores, frameworks y líneas de código a trabajar juntas. La verdadera finalidad de un proyecto de software es solucionar una necesidad, y esa debería ser el principal objetivo de cada uno de los integrantes de un grupo de trabajo.
Una de las cosas más gratificantes de ser un ingeniero de software es ver cómo las líneas de código que uno escribió y todo el esfuerzo que se puso en un proyecto están siendo puestas en ejecución y aportando a que la solución que requería el cliente efectivamente está mejorando su negocio y satisfaciendo sus necesidades. Pero no todo llega hasta ahí. Tenemos que asegurar que ese software cumple a cabalidad con las exigencias del entorno sin perturbar el negocio.
Utilizando técnicas de refactoring, automatización, deja el “lugar mejor de lo que lo encontramos y finalmente lograr la satisfacción de los usuarios finales le da un mayor sentido a nuestra labor. Disfrutar el camino, aunque este sea empedrado, a veces da más satisfacción que cuando tienes todo servido en bandeja de plata. Y trata de que tu nuevo código sea limpio, expresivo y legible, para que a tus futuros colegas el camino esté menos empedrado que el que tú tuviste que sortear.

Originally published in Medium

Top comments (0)