Skip to content

Open nowPosted 16 days ago

Senior Data Engineer

Tendios5 open roles

Work mode
Hybrid
Get the CV for this job

From $25 per CV, paid once. No subscription.

Your applicationOpen nowSenior Data EngineerTendios
  1. YouYes, apply to this one.

  2. CV RocketCV written for this posting.

  3. 25 readersRecruiter, hiring manager, skeptic. Round after round.

  4. CV RocketApplied on Tendios's own form.

The reply lands in your private mailbox

3×more interviews than doing it yourself with ChatGPT.

The clock on this job

Early applications get read.

8.2% of postings close within 7 days. Measured by our own scanner across the market.

Share of postings closed within
  1. 1.8%1 day
  2. 3.8%3 days
  3. 8.2%7 days
  4. 15.2%14 days
  5. 34.2%30 days
This job: posted 16 days ago

The posting

Senior Data Engineer Tendios

Remote (Spain) or hybrid from Barcelona · Full-time

About Tendios

Tendios is the tender intelligence platform for the Spanish public procurement market. Companies use Bid to find, qualify and win public tenders. Public institutions use Create to draft and manage their own. Behind both products is one of the most complete datasets on Spanish public procurement: tenders, lots, CPVs, contracting bodies, resolutions and awards. It’s collected continuously from hundreds of public sources and enriched with AI.

That data is our product. We’re looking for the person who will own it end to end.

The role

This is not a classic data architect role. You won’t just design schemas and hand them off. You’ll own Tendios data from the moment it’s scraped to the moment a customer sees it in Bid, asks Vera about it, or queries it through our MCP server. You’ll write the code, propose the features, and make the calls on how data is modelled, stored and exposed, including how it feeds our AI features.

You’ll report directly to the Head of Technology and work closely with product, the AI & Data squad and the backend squads.

What you’ll do

Turn data into product

  • Propose and build data-driven features. Examples: market and competitor intelligence from award data, pricing benchmarks, contracting-body profiles, better tender matching and alerting, and data-quality signals shown to customers.
  • Own the data side of our AI features. Design and improve the retrieval layer behind Vera and our Dynamic RAG service: document ingestion and conversion (Docvert), chunking, embeddings, Qdrant indexing, hybrid search with Elasticsearch, and reranking.
  • Use LLMs where they add real value in the pipeline: structured extraction from tender documents, classification (e.g. CPVs), entity resolution and summarisation. Build evaluation sets to measure quality instead of guessing.
  • Work with the AI team so Vera and the Tendios MCP server get clean, well-structured, well-documented data and tools.
  • Define and measure data and retrieval quality: coverage per source, freshness, parsing accuracy, deduplication and RAG answer quality. Treat it as a product metric, not an afterthought.

Own the data platform

  • Take ownership of the collection pipeline (Crawl Manager, Tenders Discovery, Collector, Tenders and Resolution Parsers, RabbitMQ consumers) and make it more reliable, observable and cheaper to run..
  • Keep our read models consistent with the system of record: Elasticsearch for search and filtering, and Qdrant for semantic search and RAG.
  • Build out the analytics layer on ClickHouse, orchestrated with Prefect and exposed through Metabase. This includes replacing our manual, Excel-based SaaS metrics reporting (MRR, churn, NRR) with a proper warehouse.

Write and ship code

  • Write production code in Python for the pipeline and data services and in TypeScript/Node.js in our Turborepo backend (NestJS) where data features touch the API.
  • Review code, set standards for data modelling and migrations, and document decisions in Confluence.
  • Contribute to data governance and security as part of our compliance work (ENS, ISMS), including data ownership, retention, access and auditability.

What we’re looking for

Must have

  • 6+ years in software engineering, with at least 3 years focused on data-intensive systems.
  • Strong Python and solid SQL. Deep, hands-on PostgreSQL experience: modelling, performance and migrations at scale.
  • Comfortable working across the stack when needed, including reading and writing TypeScript/NestJS.
  • Experience building and running production data pipelines, including event-driven or queue-based architectures (RabbitMQ, Kafka or similar).
  • Experience with search or analytical stores such as Elasticsearch/OpenSearch or ClickHouse.
  • A solid, hands-on understanding of how LLM applications work: RAG, embeddings and vector search, chunking strategies, prompt design, tool calling, and how to evaluate retrieval and answer quality. You’ve shipped at least one LLM or RAG feature to production.
  • A product mindset. You look at a dataset and see features, and you can write a clear proposal and defend it with product and business stakeholders.
  • Fluent Spanish and English

Nice to have

  • Web scraping and document parsing at scale, including PDFs and messy semi-structured sources.
  • Qdrant or other vector databases at scale, hybrid search and reranking.
  • LLM observability and evaluation tooling (e.g. Langfuse), or running self-hosted open models (e.g. Qwen) on GPU infrastructure.
  • Orchestration and ELT tooling such as Prefect, Airflow, dlt or dbt.
  • Experience with large or legacy data migrations (MongoDB to PostgreSQL is a big bonus).
  • Knowledge of public procurement, open data or regulated environments.
  • Docker, and experience with cloud and hybrid infrastructure (Hetzner, DigitalOcean, AWS).

Why join

  • Your work is the product. Better data means better tender matching, better answers from Vera and better decisions for our customers, and you’ll see that directly.
  • Real ownership. You’ll help define the data strategy of a growing SaaS company, not execute someone else’s.
  • Interesting problems. You’ll work on scraping at scale, entity resolution across public bodies and suppliers, polyglot persistence, and AI on top of a unique domain dataset.
  • An engineering team organised in autonomous squads, with a modern stack and a pragmatic culture. Work fully remote from anywhere in Spain, or hybrid from our Barcelona office.
From $25, paid onceGet the CV for this job

What happens when you press

One press. We do the rest.

  1. A CV for this posting

    Written against Tendios's own wording, from every piece of relevant proof in your profile.

  2. 25 readers review it

    Recruiter, hiring manager, skeptic and more read every draft, round after round. You get the best round.

    The review screen in CV Rocket: how each CV was read, round by round.
  3. We apply on Tendios's form

    Our application engine gets through the hardest forms there are. Where a question needs you, AI suggests the best answer. Don't want us applying from our IP addresses? Use our Chrome extension: we apply straight from your own browser.

    An application in CV Rocket: every answer filled in on the employer's form.
  4. Every reply, sorted

    Tendios's answer lands in your private mailbox, and we classify it on arrival: interview, question, rejection.

    The CV Rocket inbox: each employer reply classified as an interview, an action or a rejection.
  5. Reply with AI

    AI helps you write the email, checks it and sends it. We show you whether the recruiter read it.

  6. The interview in your calendar

    Full integration with your calendar. The invitation goes straight in.

    An interview invitation in the CV Rocket inbox, added to the candidate's calendar.
Get the CV for this job

From $25 per CV, paid once. No subscription.

Why it works

3×

more interviews than doing it yourself with ChatGPT.

ChatGPT writes a CV and never learns what happened to it. We see every reply. For each CV we know:

  • How it was written, and how the review scored it
  • When we applied, and how long after the posting went up
  • Which posting, which company, which city
  • Who got the interview, and who heard nothing

That is how we know which CVs get called.

Get the CV for this job

From $25 per CV, paid once. No subscription.

The numbers game

More applications. More interviews.

Every application goes out with its own CV, written for that posting and paid once. Send enough of them and the law of large numbers finds you the job.

By hand5–10
With CV Rocket100
applications a day

Nearby

Live postings like this one

Same employer first, then the same role elsewhere.

Before you press

Straight answers

Get the CV for this job

From $25 per CV, paid once. No subscription.

What if my background isn't good enough?

We make the most of the background you have. The CV uses every piece of relevant proof your profile holds, and one of the 25 readers reads your whole profile and flags what the CV left out.

Do you really apply for me?

Yes, on the employer's own form, the hardest ones included. Where a question needs you, you answer it right there and AI suggests the best answer. Don't want us applying from our IP addresses? Use our Chrome extension: we apply straight from your own browser.

Is it a subscription?

No. You pay once per CV, from $25. Every application goes out with its own CV, written for that posting.

One job. One CV.
Paid once.

Pick the posting you want. We write for it, apply for you and catch the reply.

Get the CV for this job

From $25 per CV, paid once. No subscription.