We are looking for an experienced backend engineer that helps us design and develop our APIs and work in an environment with hundreds of microservices.You should be able to work with different programming languages, design solutions, develop our application architecture and implement new features. Versatility is key to us!Adevinta Italy operates two services on the Italian market: subito.it: horizontal platform connecting buyers and sellers and automobile.it: a car trading platform.In subito.it and automobile.it you will collaborate with Product Owners, UX designers and Software Engineers to deliver game changing products. We have a strong “you built it, you run it” approach, so you will automatically deploy and monitor your services to identify issues before our customers do. We move fast with a no-blame approach. Deploy with courage, and if you break it then fix it!TYPICAL DAY IN SUBITO.IT AND AUTOMOBILE.ITCatch up with your team in a stand-up meeting.Share updates with other engineers from across the company.Work on the stories in your sprint.Check the health of your applications. Do you have problems? Don't panic!Swarm with other engineers to find a solution.Test and deploy.Monitor your changes as they go live.Review the code of your teammates.KEY RESPONSIBILITIESOwn the entire development cycle together with the cross-functional team, from requirements specification over implementation, test automation, quality assurance to deployment and monitoringContribute to the team's work with clean, maintainable and testable code and participate as well as lead design and code reviewsActively contribute to and shape business, culture and ways of workingParticipation in on-call rotationQUALIFICATIONSCore:Minimum of 3 years of experience implementing REST API.Deep knowledge in at least two programming or scripting languages: Go, Python, Ruby, Java.Confident with event sourcing and apache Kafka or message queue systems like RabbitMQ.Confident with RDBMS like PostgreSQL and MySql as well as NoSQL DBs like Redis, Cassandra.Knowledge of TDD and DDD methodologies.Knowledge of common microservice architecture patterns like dynamic service discovery, circuit breaking, bulkhead.Confident in designing the architecture of new servicesStrong sense of responsibility on all sides of the product, not only at an API level.Knowledge of software version control systems and tools, eg GitFamiliarity with dockerFluent in EnglishPluses:experience with Go frameworks or Spring Boot frameworkknowledge of docker and container system in generalexperience in continuous delivery strategiesexperience in profiling and debugging performance issuesknowledge of common web development patterns: MVC, ActiveRecord, Dependency Injection and Clean architecture.