Full Stack Engineer
About you
You’re an experienced backend engineer who can deliver a feature across the stack. You care about reliable systems, thoughtful data models and the experience those systems make possible. You can build the interface a feature needs and know when to bring in a teammate’s perspective.
Here’s what we mean by an experienced engineer:
- Clear communication: You set realistic expectations, follow through on commitments and flag risks or difficulties early.
- Ownership: You take responsibility for getting useful software into people’s hands, including the details that make it reliable.
- Constructive disagreement: You can challenge an idea, explain your reasoning and change your mind when the evidence changes.
Product judgement: You care about the problem behind a request and how the result will feel to the person using it.
If you’ve built a company or a product of your own, we’d love to hear about it. Curiosity and the drive to build something worthwhile matter here.
What you’ll build
- Build and evolve APIs, data models, and background jobs for Curie’s libraries, shared research spaces, social communication, and more.
- Make those systems dependable as the product grows: investigate failures, improve performance and handle data carefully.
- Carry features through to the frontend when needed, with attention to usability as well as correctness.
Work with the team on product and architecture decisions, turning an open-ended problem into software people can use.
Tech stack
- Primarily TypeScript
- Frontend: SvelteKit, Tailwind, DaisyUI, Playwright, Electron
- Backend: Node.js, PostgreSQL, Fastify and queues
- Architecture: domain-driven design (DDD) and CQRS
ML components and AI services are mostly in Python.
The technologies we use aren’t set in stone. We may shift tools occasionally; we care far more about value than the technology behind it.
Engineering culture
- Autonomy with ownership: You have room to make technical decisions and take responsibility for their consequences.
- Optional code reviews: A second pair of eyes is available when you want one. Ask for help or challenge a decision when it would improve the result.
- Shared context: Keep teammates informed about decisions, dependencies and problems that affect their work.
- Direct, constructive feedback: Be specific about what needs to improve, explain why and treat people with respect.
- Useful tools: We use AI and other tools where they help us build better software. You remain responsible for the work you ship.
Frontend testing: Test coverage is still limited. Good architecture and experienced engineers do not replace tests.
Recruitment process
Our hiring process is straightforward: get to know each other, discuss the work and see how you approach a practical problem.
- AI Assisted Screening
- Technical Challenge (~4 hours) - Use AI, Google, or anything else you need. There are no rules - we care about the result, not the method.
- Short introductory interview
- Meet with team interview
Full time contract with 1-month trial period. The industry standard is 3 months, but we respect your time too much for that. We keep the feedback loop tight so you know exactly where you stand.
Why join Curie
1. Work on a problem worth caring about
Science advances when people can find useful work, understand it and build on it together. Too much of that effort is scattered across papers, browser tabs, notes and disconnected tools. We’re building Curie to bring those activities together and give researchers AI tools that help them go further.
Our ambition is to change how people learn and do research. If you’re someone who gets absorbed in a subject and wants to understand it deeply, we want you to help build the tool you wish you had.
2. Learn by building, with real responsibility
You’ll work on difficult problems alongside people who have built products and companies before. There is room to stretch beyond your strongest discipline, try ideas and learn from what happens when people use them.
You’ll have a direct hand in what Curie becomes: the product decisions, the technical foundations and the details people use every day. That responsibility is a big part of the opportunity.
3. Build with people who want to go far
We’re here because this is a problem we want to spend our energy on. We value independent thinkers who also enjoy building with others: sharing what they know, asking for help and backing each other through difficult work.
You should expect to be trusted, challenged and heard. We want to build a company and a product we’re proud of, with people who care deeply about both.