15 sep
|
Cato
|
Barcelona
Your mission
Build and run the pipelines that carry a tender from the source portal to the customer's 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 you'll 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 today's 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 you'd put in production:
typed, tested, and readable six months later.
Pipelines you've 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 — you've had to make one fast.
Exposure to LLM-based extraction is welcome; curiosity about it is mandatory.
What you won't 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 "we've always done it this way" excuse
📌 Data engineer (Barcelona)
🏢 Cato
📍 Barcelona