<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://antoinecoulon.com/</loc></url><url><loc>https://antoinecoulon.com/about/</loc></url><url><loc>https://antoinecoulon.com/blog/</loc></url><url><loc>https://antoinecoulon.com/blog/ai-agents-first-impression/</loc></url><url><loc>https://antoinecoulon.com/blog/ai-revolution-software-engineering/</loc></url><url><loc>https://antoinecoulon.com/blog/blocking-vs-non-blocking/</loc></url><url><loc>https://antoinecoulon.com/blog/boy-scout-rule/</loc></url><url><loc>https://antoinecoulon.com/blog/branded-types-typescript/</loc></url><url><loc>https://antoinecoulon.com/blog/broken-window-effect-tests/</loc></url><url><loc>https://antoinecoulon.com/blog/building-a-static-analysis-tool/</loc></url><url><loc>https://antoinecoulon.com/blog/bulkhead/</loc></url><url><loc>https://antoinecoulon.com/blog/caching-invalidation-eviction/</loc></url><url><loc>https://antoinecoulon.com/blog/caching-web-app-performance/</loc></url><url><loc>https://antoinecoulon.com/blog/caching-where-performance-comes-from/</loc></url><url><loc>https://antoinecoulon.com/blog/callbacks-not-always-async/</loc></url><url><loc>https://antoinecoulon.com/blog/callbacks-sync-async-antipattern/</loc></url><url><loc>https://antoinecoulon.com/blog/case-for-static-typing/</loc></url><url><loc>https://antoinecoulon.com/blog/category/ai/</loc></url><url><loc>https://antoinecoulon.com/blog/category/architecture/</loc></url><url><loc>https://antoinecoulon.com/blog/category/career/</loc></url><url><loc>https://antoinecoulon.com/blog/category/concurrency/</loc></url><url><loc>https://antoinecoulon.com/blog/category/craftsmanship/</loc></url><url><loc>https://antoinecoulon.com/blog/category/javascript/</loc></url><url><loc>https://antoinecoulon.com/blog/category/lean-management/</loc></url><url><loc>https://antoinecoulon.com/blog/category/open-source/</loc></url><url><loc>https://antoinecoulon.com/blog/category/resilience/</loc></url><url><loc>https://antoinecoulon.com/blog/category/testing/</loc></url><url><loc>https://antoinecoulon.com/blog/category/tooling/</loc></url><url><loc>https://antoinecoulon.com/blog/category/typescript/</loc></url><url><loc>https://antoinecoulon.com/blog/chaos-engineering/</loc></url><url><loc>https://antoinecoulon.com/blog/circuit-breaker/</loc></url><url><loc>https://antoinecoulon.com/blog/closures-not-just-functions/</loc></url><url><loc>https://antoinecoulon.com/blog/closures-use-cases/</loc></url><url><loc>https://antoinecoulon.com/blog/concurrency-beyond-abstractions/</loc></url><url><loc>https://antoinecoulon.com/blog/consultant-role-reflection/</loc></url><url><loc>https://antoinecoulon.com/blog/dags-topological-sort/</loc></url><url><loc>https://antoinecoulon.com/blog/dependency-graphs-build-tools/</loc></url><url><loc>https://antoinecoulon.com/blog/docker-compose-watch-sql-migrations/</loc></url><url><loc>https://antoinecoulon.com/blog/dont-target-100-percent-coverage/</loc></url><url><loc>https://antoinecoulon.com/blog/effect-better-engineer/</loc></url><url><loc>https://antoinecoulon.com/blog/enforcing-hexagonal-architecture/</loc></url><url><loc>https://antoinecoulon.com/blog/errors-as-values/</loc></url><url><loc>https://antoinecoulon.com/blog/evaluation-vs-execution-strategy/</loc></url><url><loc>https://antoinecoulon.com/blog/everything-about-package-managers/</loc></url><url><loc>https://antoinecoulon.com/blog/faster-with-ai/</loc></url><url><loc>https://antoinecoulon.com/blog/function-coloring/</loc></url><url><loc>https://antoinecoulon.com/blog/gemba-walk/</loc></url><url><loc>https://antoinecoulon.com/blog/generics-type-parameters/</loc></url><url><loc>https://antoinecoulon.com/blog/graphql-dataloader/</loc></url><url><loc>https://antoinecoulon.com/blog/graphql-n-plus-one-problem/</loc></url><url><loc>https://antoinecoulon.com/blog/incremental-affected-pattern/</loc></url><url><loc>https://antoinecoulon.com/blog/introducing-skott/</loc></url><url><loc>https://antoinecoulon.com/blog/inversion-of-control/</loc></url><url><loc>https://antoinecoulon.com/blog/io-threads-leaky-abstraction/</loc></url><url><loc>https://antoinecoulon.com/blog/javascript-module-systems/</loc></url><url><loc>https://antoinecoulon.com/blog/just-in-time-kanban/</loc></url><url><loc>https://antoinecoulon.com/blog/lead-time-one-piece-flow/</loc></url><url><loc>https://antoinecoulon.com/blog/lean-8-mudas-tim-wood/</loc></url><url><loc>https://antoinecoulon.com/blog/lean-customer-satisfaction/</loc></url><url><loc>https://antoinecoulon.com/blog/listening-to-bad-news/</loc></url><url><loc>https://antoinecoulon.com/blog/loading-states-ux/</loc></url><url><loc>https://antoinecoulon.com/blog/master-directed-graphs-with-javascript/</loc></url><url><loc>https://antoinecoulon.com/blog/near-transfer/</loc></url><url><loc>https://antoinecoulon.com/blog/open-source-to-grow/</loc></url><url><loc>https://antoinecoulon.com/blog/operational-excellence/</loc></url><url><loc>https://antoinecoulon.com/blog/pdca-root-cause/</loc></url><url><loc>https://antoinecoulon.com/blog/production-app-pid1-init/</loc></url><url><loc>https://antoinecoulon.com/blog/production-ready/</loc></url><url><loc>https://antoinecoulon.com/blog/promises-resource-management/</loc></url><url><loc>https://antoinecoulon.com/blog/push-notifications-distributed-system/</loc></url><url><loc>https://antoinecoulon.com/blog/rate-limiting/</loc></url><url><loc>https://antoinecoulon.com/blog/retry-pattern/</loc></url><url><loc>https://antoinecoulon.com/blog/running-containerized-apps-in-production/</loc></url><url><loc>https://antoinecoulon.com/blog/skott-road-to-v1/</loc></url><url><loc>https://antoinecoulon.com/blog/successful-tech-teams/</loc></url><url><loc>https://antoinecoulon.com/blog/tdd-and-dependency-injection/</loc></url><url><loc>https://antoinecoulon.com/blog/technical-excellence-in-chaos/</loc></url><url><loc>https://antoinecoulon.com/blog/timeout/</loc></url><url><loc>https://antoinecoulon.com/blog/type-driven-development/</loc></url><url><loc>https://antoinecoulon.com/blog/visualizing-dependencies-with-skott-v2/</loc></url><url><loc>https://antoinecoulon.com/blog/watch-mode-hot-reload/</loc></url><url><loc>https://antoinecoulon.com/blog/why-effect/</loc></url><url><loc>https://antoinecoulon.com/blog/worker-threads/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/ai-agents-first-impression/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/ai-revolution-software-engineering/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/blocking-vs-non-blocking/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/boy-scout-rule/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/branded-types-typescript/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/broken-window-effect-tests/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/building-a-static-analysis-tool/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/bulkhead/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/caching-invalidation-eviction/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/caching-web-app-performance/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/caching-where-performance-comes-from/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/callbacks-not-always-async/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/callbacks-sync-async-antipattern/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/case-for-static-typing/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/chaos-engineering/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/circuit-breaker/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/closures-not-just-functions/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/closures-use-cases/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/code-coverage-trap/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/concurrency-beyond-abstractions/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/consultant-role-reflection/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/dags-topological-sort/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/dependency-graphs-build-tools/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/docker-compose-watch-sql-migrations/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/effect-better-engineer/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/enforcing-hexagonal-architecture/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/errors-as-values/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/evaluation-vs-execution-strategy/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/everything-about-package-managers/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/faster-with-ai/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/function-coloring/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/gemba-walk/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/generics-type-parameters/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/graphql-dataloader/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/graphql-n-plus-one-problem/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/incremental-affected-pattern/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/introducing-skott/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/inversion-of-control/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/io-threads-leaky-abstraction/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/javascript-module-systems/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/just-in-time-kanban/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/lead-time-one-piece-flow/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/lean-8-mudas-tim-wood/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/lean-customer-satisfaction/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/listening-to-bad-news/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/loading-states-ux/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/master-directed-graphs-with-javascript/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/near-transfer/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/open-source-to-grow/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/operational-excellence/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/pdca-root-cause/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/production-app-graceful-shutdown/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/production-app-pid1-init/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/production-ready/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/promises-resource-management/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/push-notifications-distributed-system/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/rate-limiting/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/retry-pattern/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/skott-road-to-v1/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/successful-tech-teams/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/tdd-and-dependency-injection/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/technical-excellence-in-chaos/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/timeout/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/type-driven-development/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/visualizing-dependencies-with-skott-v2/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/watch-mode-hot-reload/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/why-effect/</loc></url><url><loc>https://antoinecoulon.com/fr/blog/worker-threads/</loc></url></urlset>