Blog

Artículos, charlas y notas técnicas.

Publicaciones propias, charlas, contenidos externos y reflexiones prácticas sobre ingeniería de software, arquitectura, testing, IA aplicada y trabajo en equipos técnicos.

  1. Post

    Tu multiverso con Git

    Una introducción práctica a Git a través de la metáfora del multiverso: repositorios, commits, ramas, merges, remotos e higiene del historial.

    Leer →
  2. Post

    ¿Qué es pair programming?

    Introducción al pair programming dentro del marco de Extreme Programming: qué es, sus ventajas y cómo adoptarlo en equipos de desarrollo.

    Leer →
  3. Externo

    Maintainability in testing

    Cómo mejorar la mantenibilidad del código de tests, haciéndolo más resistente a los cambios y más fácil de entender a largo plazo.

    Leer →
  4. Post

    Kotlin ¿Sabías qué?

    Recorrido por varias características de Kotlin: inmutabilidad, raw strings, data classes, companion objects, genéricos, sealed classes, contratos y delegación de propiedades.

    Leer →
  5. Post

    Introducción a Elixir | SocraCan

    Introducción a Elixir cubriendo su modelo funcional, el pattern matching, el operador pipe y los doctests, con una recomendación final para practicar con Elixir Koans.

    Leer →
  6. Post

    Haciendo test cuando usamos React context

    En muchas ocasiones nuestros React Componentes están envueltos en contextos estando fuertemente ligados a ellos (acoplamiento). Es por ello que realizar tests unitarios puede resultar complicado si no entendemos como funciona y como falsear (mock) estas piezas.

    Leer →
  7. Externo

    Cómo escribir mal código

    Charla presentada en JS Day Canarias: un análisis irónico de los antipatrones más comunes en el desarrollo de software.

    Leer →
  8. Post

    Aprendiendo a estimar

    La estimación en proyectos de software es difícil. Claves para mejorar las estimaciones, gestionar la incertidumbre y comunicar mejor con los stakeholders.

    Leer →
  9. Post

    ¿Qué es la deuda técnica?

    Explicación clara de qué es la deuda técnica, cómo se acumula, sus consecuencias y cómo gestionarla sin que lastre el desarrollo del producto.

    Leer →
  10. Externo

    Software Architect - ser o no ser

    Presentación sobre el rol del arquitecto de software: qué lo define, cuándo tiene sentido y cómo convive con equipos que practican el artesanado de software.

    Leer →
  11. Externo

    Arquitectura Adaptativa

    Slides sobre arquitectura no dogmática: cómo diseñar sistemas que se adapten a los cambios del negocio sin quedar atrapados en decisiones prematuras.

    Leer →
  12. Post

    Agregados en DDD

    Introducción al patrón agregado en DDD: qué es, qué responsabilidades delimita y cómo persistirlo correctamente cuando intervienen objetos raíz y domain services.

    Leer →
  13. Post

    Slice tests

    Los slice tests son un tipo de test de integración usado para comprobar el comportamiento de una capa concreta de la aplicación. En este ejemplo veremos cuál es su intención y cómo verificar la capa de repositorio.

    Leer →
  14. Post

    Tsyringe

    tsyringe es una librería que facilita la inyección de dependencias en typescript, desarrollada por Microsoft. En este post haremos un repaso/introducción de dónde surge este concepto, cuál es su finalidad, como configurar el proyecto y varios ejemplos de su uso

    Leer →
  15. Post

    Functional Operators: Array Refactoring Patterns

    Los functional operators de los arrays en javascript agrupan un conjunto de operaciones a realizar sobre el array en cuestión. Los más conocidos son: forEach, map, find, filter y reduce. En este artículo veremos como mover nuestro código de bucles clásicos a esta forma funcional

    Leer →
  16. Externo

    TDD en React con TypeScript

    Guía práctica para aplicar Test Driven Development en proyectos React con TypeScript: ciclo red-green-refactor, herramientas y patrones de testing.

    Leer →
  17. Externo

    Testing custom hooks en React

    Presentación sobre cómo testear custom hooks en React: estrategias, herramientas y buenas prácticas para mantener los hooks bien cubiertos.

    Leer →
  18. Externo

    Fireproof Components

    Presentación sobre cómo construir componentes React robustos y resistentes a fallos, aplicando principios de diseño defensivo.

    Leer →
  19. Externo

    Conceptos de arquitectura

    Presentación sobre conceptos fundamentales de arquitectura de software: capas, responsabilidades, dependencias y principios de diseño.

    Leer →
  20. Externo

    Let's test

    Presentación introductoria sobre testing en aplicaciones TypeScript: motivación, tipos de tests y primeros pasos prácticos.

    Leer →
  21. Externo

    Test Driven Development

    Introducción a TDD: el ciclo red-green-refactor, los beneficios de escribir tests antes que el código y cómo adoptarlo en un equipo.

    Leer →
  22. Post

    Cómo hacer tests más legibles

    Técnicas y patrones para escribir tests que comuniquen mejor su intención: nombres expresivos, builders, y helpers que reducen ruido sin esconder comportamiento.

    Leer →
  23. Post

    ¿Por qué TypeScript?

    Argumento a favor de adoptar TypeScript en proyectos JavaScript: tipado gradual, mejor DX, detección temprana de errores y un ecosistema respaldado por una comunidad enorme.

    Leer →
  24. Externo

    La programación es el presente

    Charla sobre el estado actual de la programación y el desarrollo de software como profesión: comunidad, aprendizaje continuo y perspectiva de futuro.

    Leer →
  25. Externo

    Redux on a leash

    Presentación sobre cómo controlar la complejidad de Redux: patrones para mantener el estado predecible y el código mantenible en aplicaciones grandes.

    Leer →
  26. Post

    Creando React Native apps con Enzyme

    Cómo configurar Enzyme para testear una app React Native, qué diferencias hay respecto a React web y cómo validar eventos como press y change con inyección de callbacks.

    Leer →
  27. Post

    TDD: El bueno, el malo y el testeado

    Reflexion practica sobre TDD, pair programming, arquitectura hexagonal y katas: como aprender a pensar primero en casos de uso concretos y dejar que el codigo evolucione con seguridad.

    Leer →