Full-stack Software Engineer
Role details
Job location
Tech stack
Job description
Our team owns a broad range of applications that support our in-house professionals and our customers, developed closely with our product team and stakeholders. You'll work alongside software engineers, data scientists, domain experts, and product owners, with a culture of continuous improvement and daily deployments.
Our technology stack consists of TypeScript, Angular, AWS, Terraform, PostgreSQL, Python, Flask, FastAPI, Bazel, and many more.
Your challenge
As a senior full-stack engineer, you'll work across the whole stack of our customer-facing applications, building features end-to-end from a PostgreSQL database and a Python/Flask backend through to a polished Angular frontend. You're equally at home writing an API endpoint and a UI component, and you enjoy moving between the two.
Right now the team has several things in flight, including a monorepo migration, a store/NgRx refactor, and a design system rollout, alongside the day-to-day of shipping product. You'll dive in wherever you're most useful.
We're also hiring for the kind of engineer you are, not just what you can build. We're looking for someone with experience who brings a calm, steady presence when things get messy, brings clarity to a tangled discussion, and is good to work alongside. You'll add knowledge, perspective, and good energy to a team that already works well together.
Our working style is simple: we empower engineers to talk directly with the people who use and shape our software (product, domain experts, and customers) and to act on what they hear.
What you'll do
- Build and maintain features end-to-end, across a Python/Flask backend, REST APIs, PostgreSQL, and an Angular frontend
- Contribute comfortably on both sides of the stack, including work on our design system and Storybook library
- Talk directly with product owners, designers, domain experts, and customers, then act on what's needed
- Bring a steady, experienced presence when things get messy
- Raise the bar on quality through well-written Cypress end-to-end tests and maintainable CI pipelines
- Share what you know generously, through code review, pairing, and good conversation
- Use AI coding tools as a natural part of your daily workflow
Requirements
- 7+ years of experience as a software engineer, with genuine full-stack depth
- Strong Python skills, comfortable building backend services with Flask (or FastAPI/similar)
- Strong Angular and TypeScript skills, with familiarity with state management patterns (NgRx or similar)
- Solid with REST APIs and PostgreSQL
- Calm and clear under pressure: you bring steadiness and good judgment to messy situations
- A natural, low-ego communicator, comfortable talking directly with non-engineers and turning conversations into action
- Generous with your knowledge: people like working with you and learn from you
- Experience with testing tools (Cypress, component testing) and a quality-first mindset
- Daily user of AI coding tools (Copilot, Cursor, Claude, or similar); this is not optional
- Experience with cloud environments (AWS or similar)
- Knowledge of Linux as a user
Nice to have
- Storybook / design system experience
- Nx monorepo experience
Benefits & conditions
- Make a positive environmental impact by preventing pollution, and eliminating unplanned downtime
- Vibrant and professional company culture based on freedom and responsibility
- Competitive salary, holidays, and benefits package (pension scheme, parental leave...)
- On-site meals, snacks, and drinks
- Hybrid and on-site working opportunities
- Company events: from pub quizzes to chess tournaments and wine tastings, there's always something fun happening
- Enrolment in our Stock Appreciation Rights (SAR) scheme, allowing you to benefit from a potential exit event
- In line with our mission, our office is made with 90% recycled material at a three-minute walk from Leiden Central train station