Este es el primer post del nuevo sitio.
Después de varios años pensando "debería tener un blog de ingeniería de verdad", por fin lo estoy haciendo.
Para quién es este sitio
Para data engineers senior+ que llevan suficiente tiempo en la industria como para desconfiar del hype. Para personas que valoran un análisis honesto de trade-offs más que otro "best practices" patrocinado por vendors.
El stack
- Next.js 16 — App Router y React Server Components
- MDX vía
fumadocs-mdx— los posts viven encontent/como archivos.mdx - Tailwind CSS v4 — sin config separado, con tokens nativos en CSS
- Syntax highlighting vía
rehype-pretty-code+ Shiki
# Hello world obligatorio para el primer post
def main():
print("persistentengineer.com is live")
if __name__ == "__main__":
main()Infraestructura: Cloudflare (DNS, CDN, Email), Vercel (hosting), Neon (Postgres para view counters).
-- View counter: cada post tiene uno
CREATE TABLE views (
id SERIAL PRIMARY KEY,
slug TEXT NOT NULL,
ts TIMESTAMPTZ DEFAULT now(),
ip_hash TEXT -- hash, no IP raw
);Qué viene después
Ensayos sobre temas en los que pienso a menudo:
- Por qué tu proyecto dbt probablemente se volverá inmantenible
- Apache Iceberg snapshot isolation sin magia ni marketing
- Por qué streaming suele ser batch con otro disfraz
Artículos — notas cortas sobre cosas que descubro durante el trabajo diario.
Projects — case studies sobre sistemas reales, incluido un LLM-based MR review agent con FastAPI, Qdrant y Claude API.
Suscríbete por email en la página principal: /es#subscribe
Abierto a roles senior+ de Data Engineering en AU/NZ/EU/US — contacto.