<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>José Luis Alba · Senior Data Engineer</title><description>Real decisions building pipelines, models and data governance.</description><link>https://joseluisalba.com/</link><language>en-us</language><item><title>You don&apos;t count the herd while it&apos;s moving. You count it once it settles.</title><link>https://joseluisalba.com/blog/herd-settles-before-counting/</link><guid isPermaLink="true">https://joseluisalba.com/blog/herd-settles-before-counting/</guid><description>A reconciliation test kept flagging mismatches that weren&apos;t data errors — it was measuring the gap between when the data was copied and when it was checked.</description><pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate></item><item><title>The exchange rate isn&apos;t just a dimension. It&apos;s part of the fact.</title><link>https://joseluisalba.com/blog/rate-belongs-to-the-fact/</link><guid isPermaLink="true">https://joseluisalba.com/blog/rate-belongs-to-the-fact/</guid><description>Converting currency at query time gives you the right number and is still the wrong architecture.</description><pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate></item><item><title>The model migrates. The reasoning doesn&apos;t.</title><link>https://joseluisalba.com/blog/the-reasoning-doesnt-migrate/</link><guid isPermaLink="true">https://joseluisalba.com/blog/the-reasoning-doesnt-migrate/</guid><description>The same table that was right on-premises turns expensive in the cloud, and the model never changed.</description><pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate></item><item><title>A copy doesn&apos;t have opinions</title><link>https://joseluisalba.com/blog/a-copy-has-no-opinions/</link><guid isPermaLink="true">https://joseluisalba.com/blog/a-copy-has-no-opinions/</guid><description>Why storing only balance changes isn&apos;t enough for month-end reporting — the fix isn&apos;t one table doing both jobs, it&apos;s two layers with different jobs: the one that copies and the one that answers.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Average balance isn&apos;t calculated. It&apos;s captured.</title><link>https://joseluisalba.com/blog/average-balance-is-captured/</link><guid isPermaLink="true">https://joseluisalba.com/blog/average-balance-is-captured/</guid><description>Why daily average balance in banking can&apos;t be rebuilt after the fact — the real decision was choosing which accrual tables to snapshot daily, knowing the cost is permanent.</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate></item></channel></rss>