The Messaging team owns the software and infrastructure that sends over eight million messages every day and serves millions of customers worldwide. Up to 10 marketplaces globally use our infrastructure and integrate their applications using our SDKs to enable chat on their websites. With more than 30 people in the team, split into three squads from areas such as UX, Product, Data, and Tech, we work together to develop top-of-the-line software products and provide the best experience to our marketplaces’ users.What you'll do:Help build state of the art systems that have real revenue-generating impactEngineer and implement highly scalable systems using the best development practises and toolsHelp define our development environment and communicate the best development practises within the organisation (i.e. code reviews, testing, etc)Continuously monitor the quality of our systems and design measurements to monitor their health (both the engineering systems and data integrity)Keep on top of the latest and greatest developments in distributed systems and the cloudWork closely with other teams (Stakeholders, Data Science, Product and UX) at Adevinta to drive product developmentBe curious: experiment with new solutions yet be pragmatic and committed to code optimisation, maintainability and qualityQualificationsWho you are: ​​​​A creative person, who can help us raise the bar, challenge our current setup and improve our solution – you love developing good quality softwareYou use your voice. Good written, spoken and interpersonal communication skills; technical and business level English is a mustEager to celebrate the success with the team but who is also ready to learn from mistakes in order to improveExperience with development best practises: Pair programming, code review, clean code, CI/CD preferably with experience in Travis and SpinnakerUnderstands quality by design and consistently works with Unit testing, Integration Testing, (JUnit, Testcontainers, etc.)Familiar with REST APIs, and Microservices architectureExperience or desire to learn Kotlin – it’s the main programming language we use, but we’re happy to help you learn if you haven’t worked with it beforeExperience building and maintaining systems at scale is a plus: service discovery, load balancing, secret management, dynamic request routing, circuit breakers and deployment schemes (rolling updates, canary, etc.)Experience with high traffic systems and distributed systems and databases is a plus