Inteligencia artificial al servicio de los programadores

Recuerdo como si fuera ayer el 2009 en la Biblioteca de la Universidad tratando de obtener información para entender AJAX (joder que feo y difícil era hacer front antes) y lo frustrante que era pasar páginas enteras sin encontrar la información necesaria o el buscar horas en internet para encontrar algo de información. Hoy 2024 … Leer más

Agilismo en decadencia

Este post es la continuación de un post escrito hace ya más de 3 años (https://lafilosofiadelsoftware.com/index.php/2021/06/03/cargos-innecesarios-software/) en el que mencionaba como algunos cargos que tenemos en nuestras organizaciones no hacen sino reflejar la inmadurez de nuestros procesos de ingeniería. En esta ocasión quiero dar mi opinión de la gran caída en popularidad del “Agilisimo” y … Leer más

Inyección de dependencias, Inversión de dependencias e inversión de control.

Durante muchos años se han confundido los términos de inyección de dependencias, inversión de dependencias e inversión de control, llegando a existir publicaciones donde las describen como lo mismo, sinónimos o incluso afirmando que una es mejor que otra. Este artículo busca responder las preguntas de ¿Qué son? ¿Son lo mismo? ¿Cuál debe aplicarse en mi código?.

El camino del junior en la ingeniería del software

En este artículo no pretendo definir que es un junior en ingeniería, ni los requisitos que se deben cumplir para terminar el ciclo de junior en la carrera como ingeniero de software. Sin más preámbulos empecemos. Descubriendo lo poco que sabemos y lo mucho que falta por aprender Cuando se comienza en el mundo del … Leer más

Encontrando errores en tu codigo

Hacer software no es tarea fácil, dominar y ejecutar este arte es tarea ardua y digo arte porque al final termina siendo el ejemplo más próximo de lo que hacemos los ingenieros de software. Arte en el momento que convertimos sentencias if/else/while en complejos sistemas informáticos. Para llegar a dominar este arte primero es necesario … Leer más

Entendiendo el valor de Refinar y técnicas para ejecutarlo

Veamos primero lo que nos dice la guía oficial de scrum “El refinamiento del Product Backlog es el acto de dividir y definir aún más los elementos del Product Backlog en elementos más pequeños y precisos. Esta es una actividad continua para agregar detalles, como una descripción, orden y tamaño. Los atributos suelen variar según … Leer más

¿Son todos los cargos en la ingeniería de software realmente necesarios?

Tocaré un tema que puede llegar a herir susceptibilidades en algunas personas, antes de juzgar por favor leer todo. Alguna vez se han preguntado ¿es realmente necesario una persona de QA en nuestro equipo? ¿Necesitamos un Scrum master para que nos de ‘asistencia’? ¿Nos da valor tener un Agile Coach en nuestra empresa? Si la respuesta es … Leer más

Clean Architecture en Arquitectura N-capas parte 2

Continuando con nuestro propósito de aplicar conceptos de clean architecture en una arquitectura de N-capas trataremos inicialmente los siguientes temas: ¿Es la base de datos nuestro modelo de negocio? Interfaces como mecanismo de verdadera abstracción. ¿Cómo sobrevivir a las “CualquierCosaService”? ¿Debemos usar Excepciones? Evitando los side-effects Nota: Para la aplicación práctica de la teoría usare como lenguaje … Leer más

Clean Architecture en Arquitectura N-capas parte 1

¿Es posible aplicar conceptos de arquitectura limpia utilizando una arquitectura de N-capas? A menudo se habla que para trabajar con Clean Architecture es posible si se realiza con arquitectura hexagonal (hexagonal architecture) o arquitectura de cebolla (Onion architecture), lo cual no es del todo cierto, debemos ver las Clean Architecture como una filosofía la cual … Leer más