Software Engineer II
Expedia Visualizza tutti gli annunci
- Roma
- Tempo indeterminato
- Full time
- Design, develop, and maintain services and APIs that power the Landing Platform, enabling robust, performant, and reliable landing page experiences across multiple brands and surfaces.
- Implement high-quality low-level designs, including API contracts and data models, that align with platform architecture guidelines and support extensible, reusable components.
- Collaborate with engineers, product managers, and designers to translate business and customer requirements into technical solutions that can be reused across multiple domains and use cases.
- Own the end-to-end quality and operational health of the services you build, including automated testing, monitoring, observability, incident participation, and continuous improvement of reliability and performance.
- Contribute to code reviews, technical discussions, and documentation to raise the engineering bar, share knowledge across teams, and drive consistent engineering practices on the Landing Platform.
- Safely integrate and operate AI/ML-enabled solutions that improve outcomes, including applying familiarity with AI-driven systems, tools, or workflows and applying AI/ML concepts to real-world products where appropriate to enhance landing experiences.
- Bachelor’s degree in Computer Science, Engineering, or a related technical field, or equivalent practical experience.
- 2+ years of experience as a Software Development Engineer, including building and operating backend services or APIs in a production environment.
- Experience designing and implementing low-level system designs, including API design and data modelling, for services that support multiple features or use cases.
- Proficiency in either Java or Kotlin, and associated frameworks used for service development, along with experience in unit testing, integration testing, and using CI/CD tooling.
- Experience owning the lifecycle of a service or component, including deployment, monitoring, basic troubleshooting, and iterative improvement within a team environment.
- Enthusiasm for using AI-powered tools (e.g., code assistants, test generators, documentation helpers) to accelerate learning and delivery, with a track record of using them responsibly to refine, review, and debug your own code rather than replace fundamental engineering judgment
- Awareness of and commitment to ethical AI use, including data privacy, security, and avoiding over-reliance on AI-generated outputs without appropriate validation and testing
- Experience building and evolving shared platforms or services that support multiple product teams, brands, or domains, with an emphasis on reusability and configurability of landing experiences.
- Hands-on experience with system design for distributed services, including designing APIs, data contracts, and storage models that perform reliably at scale and are easy for other teams to adopt.
- Demonstrated practice in applying observability, performance tuning, and operational best practices (including on-call participation or incident response) to improve the availability and resilience of production services.
- Experience collaborating in a cross-functional environment to iteratively ship and optimise platform capabilities, using data and experimentation to guide technical decisions and improvements.
- Familiarity with cloud architecture and platforms like AWS