Senior Software Engineer FullStack Kotlin
Job description
About the role
This role guides the integration of German healthcare systems with Doctolib's platform, ensuring standards compliance and reliability. The position connects clinical workflows with governmental infrastructure through fullstack design and delivery. Collaboration across product and engineering teams defines the interoperability architecture for European expansion.
Software engineers turn product ideas into working code. Engineers work in small teams, review each other's work, and ship in small batches. Most teams follow agile practices such as sprints and daily standups. Engineers also write tests, fix bugs, and improve performance. The field values clear communication as much as technical skill. Engineers spend part of every week on planning, code review, and debugging, not just writing new code. The ability to explain a technical decision in plain words separates strong engineers from the rest.
Key facts
Requirements
Bring 6+ years of experience as a software engineer with strong fullstack expertise, particularly in Kotlin and React/TypeScript.
Demonstrate a track record of building robust, end-to-end solutions that balance technical excellence with intuitive user experiences.
Design systems and make sound architectural decisions in complex environments.
Promote best practices across the software development lifecycle, including automated testing, CI/CD, and DevOps practices.
Operate comfortably in complex technical environments with many external dependencies and evolving standards.
Share knowledge and mentor the team through pair programming and guidance.
Communicate effectively in English day-to-day; German is a plus.
Nice to have
Apply healthcare interoperability standards, especially FHIR, HL7, or similar.
Integrate with governmental or regulated health systems such as Telematik-Infrastruktur, eRezept, and GDT.
Understand the German digital health ecosystem.
Skills & tools
Use React and TypeScript on the frontend and Kotlin on the backend within a cloud-native platform.
Work across a broader stack including Rails, Java, Python, Swift, and React Native.
Leverage AI ethically to support patients and health professionals.
Practical notes
This role is based in Berlin with hybrid work flexibility.
The start date is as soon as possible in a full-time position.
Typical interview steps
Hiring for engineering roles usually starts with a recruiter screen, followed by one or two technical rounds. Candidates often solve a coding problem, discuss past projects, and answer system design questions. Some loops include a take-home task. Final rounds typically cover team fit and give candidates a chance to ask questions. Interviewers look for how you break down an unfamiliar problem, not just whether you reach the answer. Practicing a few problems aloud and reviewing your own past projects are the best preparation.
Good to know
The role centers on healthcare interoperability using standards such as FHIR within a regulated environment.
The tech stack spans multiple languages and frameworks to support web and mobile experiences across countries.
The team operates in agile feature teams while maintaining compliance, observability, and reliability.
Questions to ask
Good questions to ask the employer in the interview: what does success look like in the first six months, how is the team structured, what is the current biggest challenge, and how are decisions made. Asking about growth paths and the review process is also well received. Employers expect questions, and good ones show preparation.
Career growth
Engineering careers usually progress from individual contributor to senior, staff, and principal levels. Some engineers move into management and lead teams of five to twenty people. Others stay on the technical track. Growth follows demonstrated impact, not tenure alone. A typical engineering ladder has clear levels with defined expectations for scope, quality, and mentorship. Moving up usually requires owning outcomes end to end rather than completing assigned tickets.