Hallazgos de un DEV freelance
Estos últimos 4 años, he trabajado freelance en proyectos de desarrollos y asesorías. Para distintos tipos de clientes: pymes, startups, grandes empresas, instituciones públicas. Distintas industrias: minería, banca, logística, retail, servicio público. Y, por supuesto, con distintas tecnologías: Java / Spring Boot, Python, Net Core, Vue, React, Angular, NodeJS, PHP / Laravel, Bash e incluso Visual Basic.
Esta diversidad, si bien no me acerca a ser realmente experto en una industria o tecnología, me permite (y obliga a) a abordar y entender la programación y la ingeniería de Software de una manera amplia, más allá de las características propias de cada lenguaje o tecnología.
Desde esta vereda, la del freelance, he detectado algunos patrones de código -o antipatrones de código- comunes. Aspectos que, por las razones que sea, distintos tipos de clientes, de distintas industrias, y con distintas tecnologías, están repitiendo.
Generalmente los técnicos atribuimos esto a la falta de tiempo, al apuro, que viene desde las áreas de negocio, y que nos obliga a sacar productos en plazos poco razonables. Creo también que se habla mucho de IA, de Cloud, de frameworks, pero poco de Ingeniería de Software, de programación, pura y dura. Quizás algo de eso hay también.
Todo lo anterior me motivó a volver a escribir, específicamente sobre temas de la Ingeniería de Software, quizás poco vendedores hoy en día, pero esenciales si queremos construir software de buena calidad. Manejo de excepciones, Inyección de dependencias, Métricas de código, Refactoring, Pruebas Unitarias, Acoplamiento, Encapsulamiento, por nombrar algunos.
Así, en próximos artículos quiero profundizar en temas técnicos a través de pinceladas de teoría, junto con ejemplos prácticos y justificación de por qué su relevancia, a nivel técnico y de negocio.
Espero lograrlo y, con esto, poder ayudar a otros desarrolladores a estar más consciente de este tipo de temas y a evitar los problemas en el tiempo que pueden traer.
Nos estamos leyendo.