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

Patrones arquitectónicos con Gateways y dónde aplicarlos

Antes de comenzar definamos que es un patrón arquitectónico y en qué se diferencian con un patrón de diseño.  Ambos son soluciones probadas y efectivas para problemas recurrentes en el diseño y desarrollo de software,  pero tienen diferentes alcances y enfoques.Los patrones arquitectónicos son estrategias de alto nivel para diseñar la estructura general de un … Leer más

Facade & Delegate en nuestras arquitecturas de software

Comencemos por el patrón Facade. Imagina que tienes un problema el cual para solucionarlo requiere de diferentes conocimientos en distintos temas. Veamos el siguiente ejemplo: Tienes dificultades con la instalación eléctrica de tu hogar y hay interruptores que no funcionan correctamente junto con luces que parpadean, es tu responsabilidad darle solución a esas dificultades, pero … 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

Estimaciones ágiles, ¿Que son y cómo se comen?

Se que existen miles de artículos e incluso videos de esto en internet pero quise compartir mi visión del cómo se deben hacer las estimaciones en proyectos tratando de ser lo más dummy posible, así que aquí vamos: Las estimaciones ágiles nacen para dar una visión del esfuerzo y  más o menos tiempo que puede … Leer más