Product Engineer
A Coruña | Mid-Level 40-55k€ · Senior 55-70k€ · Staff 70k€+, equity + revenue sharing.
Why TheirStack?
At TheirStack, we're building one of the world's best data products on top of worldwide jobs and company data. Hundreds of people sign up for our product every day, and we're just getting started. You'll help us 10x that number.
- Small team, big impact: We're a team of 5, yet tens of thousands of users rely on us every month. Sales and marketing teams at companies like Grafana, TigerData or Confluent use our data directly, and salestech companies like Clay, Reo.dev or Genesy integrate it so that all their users can access it too. Your work will have impact from day one, and the features you build will be seen and used by thousands of people every day.
- Bootstrapped and profitable: We don't have to 50x the money of any investor to succeed. Success means solving challenging problems, helping our customers and growing the business while living a full, balanced life, no 996 needed to do our life's work.
- Speed is key: everything boils down to it. The product needs to be fast and efficient, and we need to ship fast and often as well.
Why now?
We're a profitable, bootstrapped team of engineers. We closed 2025 at 3x the revenue of 2024, and by July 2026 we had already billed more than in all of 2025. The product already carries a load that used to belong to a much larger company. We scrape about 340k jobs every day across 355k sources, the jobs table is past 234M rows, and we track 33k technologies across 13M companies. Every search a customer runs hits that live.
The last twelve months went into making that scale usable rather than just large:
- Searches are up to 9x faster at higher limits and company search 2-3x faster, which is mostly ClickHouse work: what to precompute, what to route where, and which query shape falls off a cliff at the full table.
- We shipped a whole new signal. Closed jobs tell you when a company stopped hiring for a role, and they arrive as filters, a dataset and a webhook. Knowing a posting is gone at our volume is a genuinely hard data problem.
- Buying intent turned jobs into a second product line: 9.4k topics and 400M signals mined out of the same corpus.
- We went where the buyers are going. An MCP server so any AI assistant can query our data, then Agent Skills on top of it that turn a product URL into ready-to-run searches grounded in live counts.
- And we made it cheaper rather than more expensive: company credits are now up to 92% cheaper.
The constraint now is not ideas. It's that every one of these needs someone who can own it end to end, and there are very few of us.
What will you do?
Some of these are live problems on our plate right now, others are bets we haven't started. They're real examples, not a job description:
- Rebuild deduplication as a reprocessable canonical layer. The same job is posted to the company's ATS, LinkedIn and three job boards, and the same company shows up under five different names. Today that's resolved with fuzzy checks at scrape time, which means a mistake is permanent. We're moving it to an event-sourced model where each source owns its own universe and a canonical layer joins across them, over a 341 GiB table that we never rewrite. This is the deepest data problem in the company.
- Close the loop on job expiry. A posting disappearing from its source is our highest-value signal and our least reliable one: sources rate-limit, go down, or quietly change their markup. Getting from "probably closed" to "closed on this date, and we can prove it" at 340k jobs a day is an open project.
- Make the product agent-first. The MCP server and its skills are the first version. Natural-language querying against the API with function calling and real evals, agents that read a new signup's usage and reach out with what would actually help them, and skills that turn our data into a workflow instead of a result set.
- Grow the catalog automatically. 33k technologies and 9.4k intent topics are still curated with too much human judgement. Mine our own corpus, and sources like Common Crawl, to propose new technologies, synonyms and intent topics, and build the evaluation that decides which proposals are good enough to ship.
- Expose the dataset programmatically on the web. Pages generated from our own data that answer what people ask search engines and LLMs, at a scale nobody writes by hand. It's our cheapest acquisition channel and it's nowhere near its ceiling.
- Shorten the time to the aha moment. Thousands of people sign up; the ones who find their first useful search stay. Onboarding per segment, better empty states, the emails that bring someone back. You'd own the metric, not the ticket.
- Take the data further. Better firmographics, job title and skills taxonomies, radius and location filtering, new sources. Each one changes what customers can ask us for.
You won't do all of this. You'll pick up whichever of it matches what you're good at and what we need most that month, and you'll propose things that aren't on this list.
You will be a good fit if you...
Whichever level you apply for, these are the floor:
- Have a strong product mindset. You know what makes a good product, understand that good is better than perfect, and can put yourself in users' shoes. You can build things end-to-end by yourself.
- Are curious and love learning new things. You're not afraid to wear many hats.
- Are familiar with testing and value code quality and maintainability. Every change that alters behavior carries a test that covers it.
- Are a team player who enjoys teaching what you know and helping others grow.
- Don't need to be managed and can think about the right tradeoffs to find technical solutions that fit the business context.
- Can read and write in English (you don't need to be fluent). Most of our customers are international.
The three levels we're hiring for
We're hiring this role at three levels, each with its own salary band. Which one you apply for is your call, so here are the criteria we use to make it.
Where you land inside a band depends on how many of the points below you can show evidence for, not on the years on your CV. Nobody arrives with all of them, at either level. You may have run a service under real production traffic and never hit a serious data volume problem. You may have spent two years on hundreds of millions of rows in a nightly pipeline nobody queried live. Both are worth a lot, and neither is the complete set. A gap moves you within the band, it doesn't drop you a level.
The full criteria for every level are in our handbook: Product Engineer levels.
Mid-Level: 40-55k€/year
Hand you a problem and you own it end to end, from "should we even build this?" to "it's live and I've checked it's working".
We don't ask you for very high concurrent load, hundreds of millions of rows, or real-time pipelines. Plenty of good engineers have never worked somewhere with that shape of problem, and you'll get it here. We do ask you for:
- You can judge whether something is worth building at all, not only how to implement it. A ticket is a hypothesis, not an order.
- You can tell us what the 2-day version that captures 80% of the value looks like, and argue for it over the 2-week one. You cut scope, not quality, and you say out loud which tradeoff you're making.
- You deploy and you monitor. Before merging you decide what you'll look at one hour and one day after the deploy: which dashboard, which alert, which metric. If you break something you find out first, not support and not a customer.
- You have enough business context to prioritize: how the company makes money, who the paying customer is, what moving 1% is worth. Enough to say "this ticket serves 2% of revenue and that one serves 60%".
- You can optimize a query: read a plan, spot the missing index, understand why a join is expensive.
- You're a manager of one. You break down your own work, set your own deadlines, and drive it to done without being chased.
Senior: 55-70k€/year
Everything above, plus production scars we can't teach you here fast enough, and the product judgement to choose what's worth building.
Senior here isn't Mid-Level with more years. The bar is deliberately high and it's specific: these are the things we can't hand you on the job in a reasonable time, so we have to hire for them.
- You've owned a system serving something on the order of hundreds of requests per second, or a comparable sustained concurrent load, and you can tell us what broke first, how you found out, and what you did about it.
- You've worked with datasets in the hundreds of millions of rows and have the instinct that comes with it: what's cheap, what's catastrophic, when to precompute, when to denormalize, why the query that's fine on a 10M-row sample dies on the full table. Our jobs dataset is 200M+ rows in ClickHouse, so this is our daily reality rather than a hypothetical.
- You've dealt with data that arrives continuously rather than in a nightly batch, and you know what that changes: ordering, deduplication, backpressure, lag, and what "consistent" even means when the source never stops.
- You know which system a workload wants, analytical or transactional, how the two are kept in sync, and what breaks at the seams. You can explain the tradeoff with its failure modes, not as a list of product names.
- You hold the product half of the ladder. You define the outcome and the metric before writing code, and the instrumentation ships in the same PR. You talk to real users yourself. You come back to what you shipped 4 to 6 weeks later. You put two or three options on the table and compare them. You decide what not to build.
- You raise the bar around you: code reviews that teach, docs and tooling that make everyone faster, standards that get adopted because they're good and not because you're senior.
Staff: 70k€+/year, and let's talk
You hold everything under Senior, and you think you can take this company somewhere we haven't planned for.
This is where the job stops being "own your area well" and starts being "decide which areas exist". We're not publishing a ceiling for it: if this is you, tell us what you would do with the company and we'll build the offer around that.
- You prioritize the bets, not the tickets. Which problems compete for resources, what goes in and what stays out, with the global context of what everyone else is working on. That's the top step of our ladder.
- You have vision, and you can defend it: where the product should be in two years, stated as problems worth solving rather than a list of features.
- You pick the battles. The scarcest resource in a team this size is attention, and the most expensive mistake is a quarter spent building the wrong thing well.
- You lead without managing. Engineers get better because you're here, decisions get made faster because you're in the room, and standards spread because you set them and they're good.
- You want to take the company past what we currently expect of it, and you can say concretely how.
What does not determine your level
- Knowing a framework. "I'm senior because I know FastAPI" isn't an argument. Claude Code knows FastAPI better than any of us. Unless you wrote FastAPI, framework familiarity is table stakes. Same for React, Next.js, or our exact stack: we expect you to pick up whatever we use in weeks.
- Years of experience on their own. Eight years of building CRUD screens behind a PM is not eight years of product engineering. Time only counts as evidence of what you were exposed to.
- Your title at your last company. Titles inflate at different rates in different places.
- The size of the team you led. We're not hiring managers. Leverage here comes from what you can ship and decide, not from headcount.
If you're earlier in your career
We're not hiring Product Engineers below Mid-Level right now, but that doesn't mean there's nothing here for you.
If you're junior and what pulls you in is having business context, being close to customers and understanding their problems, and you've already done something around marketing, sales or growth and want to learn a lot more, look at our GTM Engineer role. The work sits on the go-to-market side, and you'll still spend about half your time writing code: code that generates content, that answers customer emails, and that gets us in front of more people on Google and inside LLMs.
Bonus points if...
- You have some basic knowledge on SEO. Don't worry if you don't—you'll learn a lot here.
- You're familiar with our tech stack: FastAPI for the API, React for the web app, Next.js for our landing page, PostgreSQL for user data, ClickHouse for heavy searches, Redis for caching. We deploy the frontend on Vercel and the backend on Render.
The team
We're a team of 5: the two founders and three Product Engineers. You'll help shape the company's future alongside all of them — some of the people you'll work side by side with are:
- Xoel Lopez: Previously at Zara.com, Narrativa, and Tinybird, Xoel specializes in data and web scraping. He kickstarted TheirStack by developing the MVP and building the core data infrastructure, the scrapers and the API, from the ground up.
- Christian Palou: Previously at Manomano.com and Zara.com, Christian focuses on UX, front-end and backend development at TheirStack. Before TheirStack, he launched TrainerStudio.io, a SaaS for personal trainers that was acquired last year.
- Pablo Durán: Previously at Fever, Sngular. Pablo specializes in full stack development (data, backend, frontend, devops, etc). He joined TheirStack in June 2024.
When will you work?
We work 37.5 hours per week — usually around 8 hours a day from Monday to Thursday, starting at 9:00 a.m. You’re free to start earlier if that fits your routine better. On Fridays, we typically wrap up a bit early — though you can shift that time to another day if needed.
You’ll get 25 vacation days each year, along with the flexibility to work remotely for a few weeks if you want.
We also maintain a more relaxed schedule during summer months (July to August) working 7 hours per day.
Where will you work?
Our team is based in A Coruña, Spain, where we share a co-working space and collaborate in person. This is an on-site role — we value the creativity and connection that come from working together — but we’re also flexible when life demands it.
We understand that everyone has personal responsibilities, whether that’s family, caregiving, or other commitments. This role is based in Coruña and you're expected to be in the office most days, but you can work remotely for a few weeks each year if you want — whether that’s from the Canary Islands, the mountains, or anywhere that inspires you.
Learning & Development
We believe the company grows best when you do. That’s why we offer a dedicated budget for training, courses, and conferences — anything that helps you expand your skills and bring new value to the team. If there’s something you want to learn, we’ll support you in making it happen.
Interview process
- One 30-min chat with us to get to know you, tell you a bit more about us and the position.
- A 30-min chat to learn more about your soft skills and your technical experience.
- A take-home test to spend 3-4h on. You can use AI on it, we care more about how you think and what production-ready means for you.
- Another 30-min short call to discuss the test.
How to apply
Even if you don’t tick all boxes but still think this is an interesting position, are excited about the challenges we have and think you can help us make the pie larger, apply.
The best is yet to come. Let's talk!
How is this guide?
Last updated on
