We highly value collaboration, while also expecting strong individual contributions. We are explicitly looking for engineers who think beyond tickets and implementation and take responsibility for customer value, business impact, and long-term product success.
We work pragmatically and agile, rather than being driven by processes: tickets, sprints, and defined processes are tools for us, not goals in themselves. We do not focus on working through a predefined backlog. Instead, we focus on the problem that currently creates the most value. When we learn something new or priorities change, we adjust our focus.
AI tooling is a natural part of modern software development for us. We use AI not only to generate code, but throughout the whole development process – for example, to explore and analyze problems, generate and evaluate ideas, do research, implement solutions, test, and review. We expect Senior Engineers to actively use these tools, understand their possibilities and limitations, and independently find out where AI can truly improve the quality or speed of our work.
Your clear focus is on backend and infrastructure, but you are also comfortable working across the stack when needed – for example, to validate assumptions, improve user experience, or make better product decisions.
You work with a high level of ownership and follow the principle You build it, you run it. Our modern tech stack includes Kotlin, Ktor, Exposed, PostgreSQL, Kafka, Docker, and Google Cloud Platform. In addition, we use tools like Angular, Tailwind CSS and Nx.
You work directly with business teams such as Operations, Sales, and Carrier to understand problems at their root, challenge assumptions, and develop solutions together – without a dedicated product team in between and without waiting for fully specified tickets to arrive.
Your responsibilities include:
- Design, implement, and operate backend services and APIs with a clear focus on user and business value, not only technical correctness.
- Take an active role in finding problems and solutions: help clarify what should be built and why before deciding how to build it.
- Prioritize work independently together with the team and relevant stakeholders: focus on the highest current product and business impact instead of only following backlogs, sprint plans, or existing tickets.
- Actively use AI tools in your daily engineering work – from understanding problems, research, and ideation to evaluating different approaches, implementation, testing, debugging, and review.
- Critically evaluate AI-generated results and help improve the way we work: try new tools and approaches and adopt what provides real value.
- Develop and operate our event-driven architecture based on Kafka.
- Take responsibility for architecture and infrastructure decisions while balancing speed, quality, and long-term maintainability.
- Take end-to-end responsibility for services in production, including stability, observability, and continuous improvement.
- Occasionally work across the stack, for example by understanding or making smaller frontend changes, to ensure consistent end-to-end solutions.
- Proactively identify product, process, or technical improvements with measurable customer value – even if there is no ticket for them yet.
- Use AI services in our products where they create real product value.
- Work closely with stakeholders to translate business goals into scalable backend solutions – and constructively challenge requirements that provide little value.
- Help shape a way of working where we use as much structure as needed and as little process as possible, so we can learn quickly and deliver useful solutions.
