<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://codenotes.tech/</loc>
<lastmod>2026-04-04</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog</loc>
<lastmod>2026-04-04</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/adding-retries-can-make-outages-worse</loc>
<lastmod>2026-02-02T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/api-versioning-without-breaking-clients</loc>
<lastmod>2026-02-21T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/background-jobs-in-production</loc>
<lastmod>2026-03-08T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/circuit-breaker-pattern-in-microservices</loc>
<lastmod>2026-02-14T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/code-review-antipatterns-that-slow-teams-down</loc>
<lastmod>2026-02-20T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/common-mistakes-junior-developers-make-at-work</loc>
<lastmod>2025-12-20T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/correlation-ids-in-microservices</loc>
<lastmod>2026-04-04T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/how-software-engineers-make-decisions</loc>
<lastmod>2025-12-19T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/how-to-debug-effectively</loc>
<lastmod>2025-12-25T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/how-to-find-and-fix-slow-sql-queries-in-production</loc>
<lastmod>2026-03-01T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/how-to-prevent-race-conditions-in-backend-systems</loc>
<lastmod>2026-03-20T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/how-to-write-api-integration-tests</loc>
<lastmod>2026-03-04T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/idempotency-keys-for-duplicate-api-requests</loc>
<lastmod>2026-02-24T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/n-plus-one-query-problem-in-orms</loc>
<lastmod>2026-02-12T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/observability-vs-logging-in-production</loc>
<lastmod>2026-04-01T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/opentelemetry-for-backend-engineers</loc>
<lastmod>2026-03-29T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/optimistic-vs-pessimistic-locking-in-sql</loc>
<lastmod>2026-03-17T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/postgresql-job-queues-with-skip-locked</loc>
<lastmod>2026-03-22T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/rate-limiting-and-backpressure-in-microservices</loc>
<lastmod>2026-02-17T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/safe-database-migrations-in-production</loc>
<lastmod>2026-03-06T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/software-engineering-skills-for-career-growth</loc>
<lastmod>2025-12-26T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/sql-isolation-levels-explained</loc>
<lastmod>2026-03-13T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/too-much-logging-in-production-breaks-debugging</loc>
<lastmod>2026-01-25T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/transactional-outbox-pattern-in-microservices</loc>
<lastmod>2026-03-11T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/webhook-idempotency-and-retries-in-production</loc>
<lastmod>2026-03-26T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/what-clean-code-really-means</loc>
<lastmod>2025-12-23T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/when-feature-flags-increase-system-complexity</loc>
<lastmod>2026-01-21T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/when-timeouts-didnt-prevent-cascading-failures</loc>
<lastmod>2026-02-07T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/why-ai-code-review-misses-real-risks</loc>
<lastmod>2026-02-27T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/why-bugs-appear-only-under-production-load</loc>
<lastmod>2026-01-14T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/why-caching-causes-inconsistent-data-in-production</loc>
<lastmod>2026-01-04T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/why-database-indexes-didnt-fix-your-slow-query</loc>
<lastmod>2026-01-09T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/why-horizontal-scaling-didnt-improve-throughput</loc>
<lastmod>2026-02-10T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/why-read-replicas-didnt-reduce-database-load</loc>
<lastmod>2026-02-05T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://codenotes.tech/blog/why-tests-pass-but-production-still-breaks</loc>
<lastmod>2026-01-17T00:00:00.000Z</lastmod>
</url>
</urlset>
