RSS de Martin Fowler Nota

RSS de Martin Fowler

El sitio web martin fowler com es el sitio web personal de Martin Fowler, un destacado ingeniero de software británico, autor y orador público. El sitio se utiliza principalmente como un repositorio para sus escritos, charlas y otros esfuerzos profesionales. El sitio cuenta con una amplia variedad de artículos, ensayos y entradas de blog sobre temas relacionados con el desarrollo de software, incluyendo patrones de diseño, refactorización, metodologías ágiles y diseño orientado al dominio. Muchos de estos artículos se consideran obras clave en el campo de la ingeniería de software y han sido ampliamente leídos y citados. Además de sus obras escritas, el sitio también alberga videos y transcripciones de las charlas y presentaciones de Martin Fowler en conferencias, que cubren temas como la arquitectura de software, la prueba y el futuro del desarrollo de software. En general, martin fowler com es un recurso valioso para los desarrolladores de software, arquitectos y ingenieros que buscan mejorar sus habilidades y estar al día con las últimas tendencias y mejores prácticas en el campo.

Hilo de notas

Algunos pensamientos sobre LLMs y Desarrollo de Software

El autor comparte pensamientos sobre LLM y IA, preparándose para unas vacaciones y reflexionando sobre las tendencias de la industria. Las encuestas sobre el impacto de la IA en el desarrollo de software a menudo pasan por alto el uso variado de LLM, lo que podría llevar a resultados sesgados. El autor expresa incertidumbre sobre el futuro de la programación, instando a experimentar con LLM y compartir experiencias. Cree que el auge de la IA es una burbuja, similar a los avances tecnológicos pasados, pero con potencial de valor duradero a pesar de su eventual estallido. El autor asistirá a la conferencia GOTO Copenhague, reconectándose con colegas de la industria. Los LLM se consideran motores de alucinación, enfatizando la necesidad de verificar los resultados y considerar múltiples instrucciones. La ingeniería de software puede evolucionar para incorporar la no determinismo, reflejando otras disciplinas de ingeniería. El autor señala que los LLM pueden comportarse como colegas juniors poco fiables, proporcionando resultados engañosos. Finalmente, el autor destaca los riesgos de seguridad aumentados introducidos por los LLM, particularmente en cuanto a extensiones de navegador agente.

De la Caja Negra al Plano

"Un problema común en empresas: sistemas legados cruciales se convierten en "cajas negras" - clave para las operaciones pero opacas y riesgosas de tocar. Thiyagu Palanisamy y Chandirasekar Thiagarajan trabajaron con un cliente para utilizar la ingeniería inversa asistida por IA para reconstruir especificaciones funcionales a partir de elementos de interfaz de usuario, binarios y linaje de datos para superar la parálisis del análisis. Desarrollaron un enfoque "multi-lente" metódico - comenzando desde artefactos visibles, enriqueciendo incrementalmente, triangulando la lógica y siempre preservando el linaje. La validación humana sigue siendo central para asegurar la precisión y la confianza en la funcionalidad extraída. Este compromiso reveló que convertir un sistema de caja negra a plano empodera las decisiones de modernización y acelera los esfuerzos de migración."

Investigación, Revisión, Reconstrucción: Modernización Inteligente con MCP y Estímulos Estratégicos

El sistema de gestión hospitalaria de código abierto Bahmni se inició hace más de nueve años con una interfaz de usuario utilizando AngularJS y una API de REST de OpenMRS. Rahul Ramesh deseaba convertir esto para utilizar una interfaz de usuario de React + TypeScript con una API de HL7 FHIR. Al explorar cómo hacer esta modernización, utilizó un flujo de trabajo de prompting estructurado de Investigación, Revisión y Reconstrucción, junto con Cline, Claude 3.5 Sonnet, servidor MCP de Atlassian y un servidor MCP de sistema de archivos. Cambiar un solo control normalmente tomaría 3-6 días de esfuerzo manual, pero con estas herramientas se completó en menos de una hora a un costo de menos de $2.

Construir tu propio agente de codificación de línea de comandos con Pydantic-AI

Los agentes de codificación CLI son una herramienta fundamentalmente diferente a los chatbots o a las herramientas de autocompletado: son agentes que pueden leer código, ejecutar pruebas y actualizar una base de código. Ben O'Mahony explica que, si bien las herramientas comerciales son impresionantes, no comprenden el contexto particular de nuestro entorno ni las excentricidades de nuestro proyecto específico. En su lugar, podemos construir nuestro propio agente de codificación ensamblando herramientas de código abierto, utilizando nuestros estándares de desarrollo específicos para: pruebas, producción de documentación, razonamiento de código y operaciones del sistema de archivos.

Charlar con Unmesh sobre la construcción de lenguaje con LLMs

Hace unas semanas, Unmesh Joshi y yo comenzamos una conversación sobre cómo a él le gusta desarrollar un lenguaje de abstracciones al trabajar con un LLM. Pensamos que esta era una conversación que a otros podría interesarles, así que la convertimos en un artículo. Hablamos sobre cómo la programación trata tanto de construir como de aplicar abstracciones, y cómo el LLM nos ayuda de diferentes maneras en cada actividad.

Bliki: Juntas de Dilatación

El autor desarrolló una técnica llamada Juntas de Expansión para gestionar eficazmente el tiempo de las presentaciones. Estas son temas opcionales preplanificados que se pueden cubrir de forma breve o extensa. Esto permite a los oradores ajustar la duración de su presentación sin parecer apresurados o desprevenidos. Cada Junta de Expansión típicamente consiste en una sola diapositiva con frases clave, sirviendo como puntos de partida para la discusión. Si el tiempo es escaso, el tema se resume rápidamente, a menudo indicando que está fuera del alcance. Por el contrario, si hay tiempo suficiente, el orador puede profundizar en el material opcional. El autor también dominó el arte de saltar diapositivas de manera invisible para la audiencia, una habilidad que requiere control de la computadora portátil. Esta técnica proporcionó confianza, especialmente dado que el autor no ensayaba sus presentaciones extensivamente. Las Juntas de Expansión demostraron ser invaluables para adaptar las presentaciones a diferentes franjas horarias y gestionar la interacción de la audiencia. Estos segmentos flexibles son más útiles hacia el final de una presentación cuando el tiempo restante es más claro.

Equipo OKR en Acción

Los OKR se han convertido en una forma popular de conectar la estrategia con la ejecución en organizaciones grandes. Pero cuando se establecen en una cascada descendente, a menudo pierden su significado. Los equipos reciben objetivos que no ayudaron a crear, y el resultado es un compromiso débil y poco cambio real. Paulo Caroli describe cómo los equipos de alto rendimiento pueden trabajar de otra manera. Definen sus propios objetivos en una organización que utiliza un proceso colaborativo para alinear los OKR del equipo con la estrategia más amplia. Con estos OKR de equipo en su lugar, crean un propósito compartido y se convierten en la base para un ciclo regular de planificación, revisiones y retrospectivas.

La Guía del Director de Tecnología Reformista para la Inteligencia de Impacto

La productividad de los trabajadores del conocimiento es difícil de cuantificar y a menudo se desconecta de los resultados empresariales directos. Esta falta de comprensión conduce a numerosas iniciativas, un gasto tecnológico excesivo y esfuerzos mal elegidos para mejorar dicha productividad. Sriram Narayan comienza un artículo que analiza cómo evitar esto desarrollando una inteligencia del impacto empresarial de su trabajo a través de una red que conecta la producción con el impacto próximo y posterior.

¿Hasta dónde podemos llevar la autonomía de la IA en la generación de código?

Birgitta Böckeler informa sobre una serie de experimentos que realizamos para explorar hasta dónde se puede llevar actualmente la IA Generativa hacia el desarrollo autónomo de software de alta calidad y actualizado sin intervención humana. Como caso de prueba, creamos un flujo de trabajo agéntico para construir una aplicación Spring Boot simple de principio a fin. Descubrimos que el flujo de trabajo podía generar estas aplicaciones simples, pero aún observamos problemas significativos en los resultados, especialmente a medida que aumentábamos la complejidad. El modelo generaba funciones que no habíamos solicitado, hacía suposiciones cambiantes ante las lagunas en los requisitos y declaraba el éxito incluso cuando las pruebas fallaban. Concluimos que, si bien muchas de nuestras estrategias —como los prompts reutilizables o una aplicación de referencia— son valiosas para mejorar los flujos de trabajo asistidos por IA, la supervisión humana durante la generación sigue siendo esencial.

Guiando a un LLM para un Código Robusto de Java ByteBuffer

Editores de IA como Cursor pueden generar código con una velocidad impresionante utilizando LLM, manejando código boilerplate y proporcionando fragmentos funcionales para various tareas. Sin embargo, al construir sistemas robustos, la corrección funcional es solo el punto de partida. El código también debe ser seguro, predecible, mantenible y libre de efectos secundarios sutiles. Unmesh Joshi demuestra, a través de un diálogo entre un desarrollador y un LLM, cómo la guía de expertos es crucial para transformar un fragmento de código inicial, potencialmente inseguro, en un componente sistema-listo robusto.

Actualizando la publicación de ayer sobre la participación en las redes sociales

Algunas personas preguntaron cuántas personas hicieron clic en los enlaces de estas publicaciones en redes sociales. He añadido más información al artículo, en parte para explicar por qué no tengo esa información, y en parte para mostrar los datos fuente generales del tráfico al sitio.

Participación en Redes Sociales a principios de 2025

Hace unos años, cada vez que publicaba un nuevo artículo aquí, simplemente lo anunciaba en Twitter, pero desde la toma de posesión de Musk, su importancia ha disminuido, y ahora publico actualizaciones en varios servicios. Para comparar el compromiso en estos servicios, he examinado las republicaciones, los likes y las respuestas a dos docenas de mis publicaciones recientes.

Explorando Gen AI: El nuevo edición multi-archivo de Copilot

Una muy poderosa nueva función de asistencia de codificación se incorporó a GitHub Copilot a finales de octubre. Esta nueva capacidad de "edición multiarchivo" amplía el alcance de la asistencia de inteligencia artificial desde sugerencias pequeñas y localizadas hasta implementaciones más grandes en varios archivos. Birgitta Böckeler prueba esta nueva capacidad y descubre cuán útiles tienden a ser sus cambios, y se pregunta sobre qué bucles de retroalimentación son necesarios con ellos.

Publicando en Bluesky, y otros pensamientos sobre las redes sociales

Con el reciente aumento de actividad tecnológica en Bluesky, he decidido que comenzaré a publicar allí además de mis ubicaciones actuales. También he reunido mis pensamientos generales sobre el estado de los medios sociales y cómo los estoy utilizando, ahora que han pasado dos años desde The Muskover.

Evaluando los resultados del uso de la Higuera Estranguladora en una Aplicación Móvil

Matthew Foster y John Mikel Amiel Finalizan su relato de cómo modernizaron de manera incremental una aplicación móvil analizando los resultados de su trabajo. Lograron un acortamiento significativo del tiempo para obtener un nuevo valor, y descubrieron que los cambios en la nueva aplicación podían prepararse en aproximadamente la mitad del tiempo que tomaba en la base de código antigua.

Sumergiéndose más profundamente en el uso de la Higuera Estranguladora con aplicaciones móviles

Matthew Foster y John Mikel Amiel se sumergen en los detalles de modernizar de manera incremental una aplicación móvil heredada. Examinan cómo implantar la higuera estranguladora en la aplicación existente, configurar la comunicación bidireccional entre la nueva aplicación y la heredada, y asegurar pruebas de regresión efectivas en el sistema en general.

Utilizando la Higuera Estranguladora con Aplicaciones Móviles

Los colegas a menudo están involucrados en la modernización de sistemas heredados, y nuestro enfoque es hacer esto de manera incremental. Hacer esto con una aplicación móvil plantea algunos desafíos específicos. Matthew Foster y John Mikel Amiel Regida comparten sus experiencias sobre un reciente compromiso para hacer esto, pasando de una aplicación heredada monolítica a una que utiliza una arquitectura de micro-aplicaciones modulares.