<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://wagnermatos.co.uk/</loc>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/about</loc>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/contact</loc>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/terms</loc>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/privacy</loc>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles</loc>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/rails-8-1-s-bin-ci-a-local-ci-runner-that-earns-its-keep</loc>
    <lastmod>2026-05-25T08:30:07+01:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/retiring-active-record-associations-the-rails-8-1-way</loc>
    <lastmod>2026-05-11T10:59:39+01:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/active-job-continuations-in-rails-8-1-what-they-actually-solve</loc>
    <lastmod>2026-04-29T11:45:21+01:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/the-complete-guide-to-rails-credentials-and-secrets-management</loc>
    <lastmod>2026-04-29T11:40:10+01:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/ruby-4-0-is-here-what-it-actually-means-for-your-rails-app</loc>
    <lastmod>2026-04-14T19:47:40+01:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/heroku-enters-sustaining-engineering-what-it-means-and-where-your-rails-app-can-go-next</loc>
    <lastmod>2026-02-24T12:58:01+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/enhancing-performance-in-rails-with-activerecord-methods</loc>
    <lastmod>2026-02-16T12:03:52+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/how-to-setup-gnu-stow-with-existing-dotfiles</loc>
    <lastmod>2026-02-16T12:03:36+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/maximizing-impact-an-introduction-to-the-effective-engineer</loc>
    <lastmod>2026-02-16T12:03:18+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/what-makes-a-senior-engineer-senior</loc>
    <lastmod>2026-02-16T12:03:08+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/exploring-sorting-algorithms-with-ruby-a-comprehensive-guide</loc>
    <lastmod>2026-02-16T12:02:59+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/merge-sort-in-ruby</loc>
    <lastmod>2026-02-16T12:02:46+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/rails-8-tailwindcss-the-default-frontend-stack-done-right</loc>
    <lastmod>2026-02-16T07:32:11+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/fractional-rails-developer-why-you-don-t-need-a-full-time-hire-to-move-fast</loc>
    <lastmod>2026-02-04T19:14:33+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/solid-queue-vs-sidekiq-in-2025-which-background-job-tool-should-you-use</loc>
    <lastmod>2026-01-21T11:18:05+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/inside-activerecord-s-query-cache-when-it-helps-when-it-hurts</loc>
    <lastmod>2026-01-07T11:30:21+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/flask-for-rails-developers-a-gentle-introduction</loc>
    <lastmod>2025-12-01T08:18:18+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/how-to-prevent-spam-in-your-rails-app-from-simple-free-tools-to-advanced-paid-solutions</loc>
    <lastmod>2025-11-15T11:31:29+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/the-importance-of-effective-one-to-ones-in-software-development-teams</loc>
    <lastmod>2025-11-08T11:00:35+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/building-a-complex-and-flexible-table-component-in-rails</loc>
    <lastmod>2025-11-07T13:51:54+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/local-development-with-multiple-test-domains-and-custom-ports-using-nginx-dnsmasq</loc>
    <lastmod>2025-11-07T13:47:58+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/10-essential-gems-for-security-and-code-quality-in-rails-projects</loc>
    <lastmod>2025-11-06T20:35:44+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/rag-and-mcp-in-software-development-what-they-are-and-why-they-matter</loc>
    <lastmod>2025-11-06T20:32:30+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/constant-collision-in-rails-when-your-concerns-clash-with-gems</loc>
    <lastmod>2025-11-06T20:30:30+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/ai-is-a-productivity-multiplier-but-only-if-you-stay-in-control</loc>
    <lastmod>2025-11-04T13:51:39+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/rails-testing-gotcha-when-concerns-work-in-console-but-not-in-tests</loc>
    <lastmod>2025-11-04T13:47:07+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/move-fast-learn-faster-quick-iteration-and-continuous-learning</loc>
    <lastmod>2025-11-03T12:49:47+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/amplifying-your-impact-leveraging-tools-and-technology</loc>
    <lastmod>2025-11-03T12:14:40+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/what-gets-measured-gets-improved-measuring-your-impact</loc>
    <lastmod>2025-11-03T12:11:19+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/high-leverage-engineering-multiplying-your-impact</loc>
    <lastmod>2025-11-03T12:06:27+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/focus-on-what-truly-matters-prioritization</loc>
    <lastmod>2025-11-03T11:57:53+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/articles/the-power-of-a-heard-team</loc>
    <lastmod>2025-10-31T14:47:33+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/case-studies</loc>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/case-studies/ecp-touchscreen-interactive-medical-kiosk-for-johnson-johnson</loc>
    <lastmod>2026-03-19T11:05:59+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/case-studies/alertive-webhook-service-real-time-event-delivery-for-nhs-trusts</loc>
    <lastmod>2026-02-26T14:01:22+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/case-studies/csv-ingestion-for-coverage-analytics</loc>
    <lastmod>2026-02-12T13:10:19+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/case-studies/johnson-johnson-medical-interactive-photobooth</loc>
    <lastmod>2026-02-12T13:10:18+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/case-studies/eventscope-edge-to-cloud-analytics-platform</loc>
    <lastmod>2026-02-12T13:10:18+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/case-studies/touchscreen-vaccines-navigator-for-gsk</loc>
    <lastmod>2026-02-12T13:10:17+00:00</lastmod>
  </url>
  <url>
    <loc>https://wagnermatos.co.uk/case-studies/citizens-advice-witness-service-referral</loc>
    <lastmod>2025-11-15T17:09:58+00:00</lastmod>
  </url>
</urlset>
