Lo que la IA no te hace
La IA puede apagar fuegos, pero no acabar con el incendio. Sobre el pensamiento a largo plazo en ingeniería de software y el patrón Criteria como ejemplo de diseño sostenible.
🚨 Las gafas de cerca
Muchas personas del sector tech —me incluyo— tenemos la tendencia de preguntarle, o más bien exigirle, a la IA una respuesta a un problema. Y sí, muchas veces acierta en el razonamiento. Pero siempre lleva puestas las gafas de cerca.
Todavía no tiene la capacidad de imaginar.
Pero nosotros sí. Y tenemos la capacidad de pensar. Los ingenieros deberíamos hacerlo con las gafas del impacto inmediato y del futuro lejano. Debemos proponer y aplicar soluciones garantizando escalabilidad, legibilidad y sostenibilidad.
🔥 Apagar fuegos vs acabar con el incendio
Lo que la IA no hace es diseñar a largo plazo. Puede que te sirva para apagar un fuego, pero no basta para acabar con el incendio. Al menos, si no la guías hacia soluciones completas. Le das tus gafas. Tus ideas. Tu conocimiento.
Si eres ingeniero de software, desarrollador o alguien apasionado por la programación: aprende patrones de diseño. Aprende las bases. Y después, apóyate en la IA. No hay ningún problema en eso.
🎯 El patrón Criteria
Como ejemplo de lo que significa diseñar con intención, te dejo una solución a un problema bastante común en los sistemas: la capacidad de filtrar y paginar en una API de manera elegante y sostenible, sin que el repositorio crezca hasta el infinito.
El patrón Criteria resuelve exactamente eso. En vez de tener un método por cada combinación posible de filtros en el repositorio, encapsulas los criterios de búsqueda en un objeto que el repositorio sabe interpretar. El repositorio no crece. La lógica de filtrado vive en el dominio. Y puedes componer criterios con libertad.
Sin Criteria: findByUserAndDateAndCategory(), findByUserAndAmount(), findByUserPaginated()... hasta el infinito.
Con Criteria: find(criteria: Criteria). Un método. Infinitas combinaciones.
💰 Aplicado en Code Finances
Apliqué este patrón en la búsqueda y filtrado de ingresos dentro de Code Finances. El caso de uso necesitaba filtrar por usuario, rango de fechas, categoría y paginar los resultados. Sin Criteria, el repositorio habría explotado en métodos específicos. Con Criteria, el repositorio expone un único punto de entrada y el caso de uso construye los filtros que necesita.
Este es exactamente el tipo de solución que la IA no te va a proponer sola. Necesita que tú llegues con el patrón en la cabeza, con el problema entendido, y que la uses como acelerador. No como arquitecto.
Publicado originalmente en LinkedIn.