Your mission Build and run the pipelines that carry a tender from the source portal to the customers screen: ingestion, merge, enrichment, delivery.
You own concrete pieces of the data pipeline end to end — not tickets handed to you, but the sources, jobs and tables behind them.
What youll actually do * Own scrapers and ingestion for a set of national portals across Spain and Italy, where reading the source in its original language is part of the job.
* Write and maintain orchestrator flows: retries, backfills, alerting, and a clear answer to "Did todays run actually land?" * Work on merge, dedup and reconciliation — the same tender arrives three times, in three shapes, and only one version can reach the customer.
* Ship AI enrichment steps: batch LLM extraction of requirements, embeddings, OCR on attachments.
* Write SQL that survives production: query plans, indexes, JSONB, partitioning, CONCURRENTLY migrations.
* Guard data quality with tests and checks that fail loudly before a customer finds the gap.
Adecuado profile * Real SQL: you can read an EXPLAIN and say why the plan is bad, not just that it is slow.
* Python youd put in production: typed, tested, and readable six months later.
* Pipelines youve actually operated: with an orchestrator (Prefect, Airflow, Dagster, ArgoWorkflows) and the 3 a.m. failures that come with them.
* Builder by default: you see a manual process and your first instinct is to automate it.
* Comfortable with messy sources: broken HTML, inconsistent XML, PDFs that were scans of scans.
Experience * 2–4 years building data pipelines in production.
* Hands-on with PostgreSQL beyond writing queries — youve had to make one fast.
* Exposure to LLM-based extraction is welcome; curiosity about it is mandatory.
What you wont find here * No micromanagement: we trust you to own your part of the stack.
* No "standard" 9-to-5 mentality: we care about outcomes and we are looking for people who are willing to go the extra mile.
* No "weve always done it this way" excuses: were here to disrupt, not to follow old patterns.
Our Tech Stack * Data & Infra: Python, PostgreSQL, Prefect, K3s/ArgoCD, AWS * AI: batch LLM extraction, embeddings, OCR Compensation RAL €40,000 – €60,000 + equity, depending on seniority and profile.
Hiring Manager Lorenzo Rossetto ******
📌 Data Engineer (Madrid)
🏢 Cato
📍 Madrid