About Us
CareerOS is a B2B2C career platform serving 100+ top MBA programs worldwide — including Oxford, INSEAD, London Business School, Georgetown, and Notre Dame — along with 30+ employers. We help 500K+ users land jobs they love, and we're growing with real revenue (not just runway).
We're a small, high-output team of 5 engineers based in Barcelona, scaling to 10+. We work in small squads, each owning their area of the product end-to-end. We ship fast, own our decisions, and push each other to do great work.
The Role
We're looking for a full-stack engineer to help build the services that power CareerOS. You're a few years into your career, you ship solid work, and you're ready to level up fast — this is a role you grow into.
You'll own whole features from database to API to UI, with the team backing you up. You'll work directly with the squad lead and product owner responsible for the domain - in the room when decisions get made, with real input on what we build. And because we deploy continuously, the code you merge today is live for real users today.
We're also an AI-native team, and that's central to how we work — see below.
Tech stack: Node.js (primary for new code), React/TypeScript on the frontend, some legacy Go. Infrastructure on GCP.
Typical split: backend-leaning, with real frontend work in React — it varies by project.
We Build With AI — and We Love It
We use AI coding tools every day, on real production code. It's one of the best parts of working here: you move faster, you build more, and you spend your energy on the interesting problems.
The thing that makes it work is you. The best AI output comes from engineers who direct it well, read what it produces, and catch it when it's off. You bring the judgment; the AI brings the speed. If that's already how you like to work — bonus points if you've used a structured or spec-driven workflow — you'll feel right at home.
What You'll Actually Do
Ship full features, end-to-end — schema design, API, and the React UI on top. You own the vertical, with support when you need it.
Work with data — write real queries, design schemas, reason about migrations.
Build across the stack — backend-focused, but you'll ship real frontend in React/TypeScript too.
Help move our Go services to Node — read existing Go to understand the logic, rebuild it cleanly in TypeScript with time. (You won't write new Go.)
Build with AI tools — we use Claude Code, Cursor, and others daily. You should be comfortable, or excited, to work this way.
Own your code in production — continuous deployment means what you merge today is live today. You debug it, monitor it, improve it.
What We're Looking For
Must-haves:
3+ years building production systems
Strong TypeScript
Solid Node.js backend experience building HTTP APIs
Comfortable in React for real web apps
Good SQL — you write real queries and think about schema design
A real AI-assisted workflow — you can walk us through a feature you shipped with AI: what you delegated, and how you caught its mistakes
Excellent communication and fluent English — we're distributed
Eagerness to own features and grow fast
Strong signals:
Experience with a spec-driven or structured AI workflow
You've read Go before, or can pick it up enough to understand existing logic
tRPC, Zod, Drizzle, or any modern ORM (concepts transfer)
GCP, Docker, or monorepo tooling
You've worked at an early-stage startup before (and liked it)
You care about craft — clean code, good abstractions
What This Role is NOT
Let's be honest about fit:
❌ Not a backend-only seat — you'll spend real time in React.
❌ Not "paste into a chatbot and ship it" — AI is a power tool here, and you read and understand what you ship, whether you or the AI wrote it.
❌ Not a chill 9-to-5 — startup means more ownership and higher stakes. We respect personal time, but when we ship, we ship hard.
Your First 30 Days
We don't expect magic on day one. A great first month looks like:
W


