Inner Circle
Backend Engineer
- Amsterdam, Netherlands
- Full-time
- POSTED TODAY
About the job
Engineering · Amsterdam (hybrid)
Inner Circle is a dating app for people who are done wasting time. Every member is screened thoroughly, so the profiles you see are people worth dating.
Every AI-powered feature starts with the data and infrastructure behind it. From building scalable backend systems to powering smarter matching and personalisation, our engineers turn data into meaningful connections - and shape how AI transforms the future of dating.
Goal of the Role
You power the engine that brings more members together every second. We’re moving our backend from a PHP monolith to Kotlin services, and changing how we build software at the same time: AI and agentic engineering are part of how our team works every day. You’ll join the team building the new part of our system, and occasionally work in our legacy PHP codebase.
You don’t need prior PHP or Kotlin experience. We care more about how you think and approach problems than about which language you have used so far.
Tech stack: Kotlin, Spring Boot, GraphQL, PHP 8 (legacy), MySQL (Aurora), Redis, OpenSearch, RabbitMQ, Docker, Kubernetes (EKS), AWS (S3, SNS/SQS, SES, Rekognition, and more), DataDog
Result Areas:
Build and ship features that matter to members
Deliver backend features that improve matchmaking, engagement and retention. You work from outcome-based stories: the team agrees on the result, and you own how to get there.
Help move our platform to Kotlin services
Build new Kotlin services and help extract functionality from the PHP monolith step by step, without disrupting the members who use the app every day.
Work with AI, and with judgement
Use AI and agentic tools such as Claude Code in your daily work. Give them clear specs and context, and review what they produce as critically as you would review a colleague’s code.
Own the quality of what you build
Write clean, testable code with automated tests, keep pull requests small, follow secure coding practices, and stay responsible for your code once it runs in production.
Make pragmatic trade-offs
Reason through problems and ship solutions that are good enough. Recognise when something needs more care or optimisation, and ask for input when a decision is bigger than your part of the system.