16 sep
|
JobFlurry
|
Madrid
Your mission Bring a tender from the source portal into Cato: scraping, parsing, merging, enrichment.
Solicitar este puesto es simple. Desplácese hacia abajo y haga clic en "Solicitar" para ser considerado para esta posición.
Youll start by owning a handful of sources end to end
- the scraper, the job behind it, and the data that comes out
- and take on more as you go.
Not tickets handed to you: sources youre responsible for.
What youll actually do
* Build and maintain scrapers for national tender portals, where reading the source in its original language is part of the job.
* Keep them alive: portals change their HTML, move endpoints, break pagination, throttle you.
You find out before the customer does.
* Turn messy sources into clean records: broken HTML, inconsistent XML, APIs that lie about their own schema.
* Write and maintain orchestrator flows: retries, backfills, alerting, and a clear answer to "Did todays run actually land?"
* Work on merge and dedup
- 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.
* Guard data quality with tests and checks that fail loudly before a customer finds the gap.
Ideal profile
* Python that holds up: typed, tested, and readable six months later.
* Youve scraped something real: HTTP, HTML and XML parsing, pagination, sessions, rate limits
- and you know why a scraper that worked yesterday is broken this morning.
* SQL youre comfortable in: joins, aggregations, window functions.
Youll read from the database every day; tuning and running it isnt your job.
* 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.
* You close your own loop: you check that what you shipped actually ran, before someone else has to ask.
Experience
* 1-2 years writing Pyt
📌 Junior data engineer (Madrid)
🏢 JobFlurry
📍 Madrid