Software Development Engineer II

Expedia Expedia · Hospitality · Rome, Italy

Software Development Engineer II role on the Landing Platform team at Expedia Group, focusing on building backend services and platform capabilities for Expedia's landing experiences at scale. The role involves designing high-performance services, ensuring reliability, and contributing to the strategy for Agentic Engine Optimisation (AEO) to integrate landing content into AI-powered search experiences. The engineer will also use AI-powered tools to accelerate their work and ensure ethical AI use.

What you'd actually do

  1. 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.
  2. Implement high-quality low-level designs, including API contracts and data models, that align with platform architecture guidelines and support extensible, reusable components.
  3. 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.
  4. 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.
  5. 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.

Skills

Required

  • 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

Nice to have

  • 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

What the JD emphasized

  • Agentic Engine Optimisation (AEO)
  • AI-powered search experience travel queries
  • AI/ML-enabled solutions
  • AI-driven systems, tools, or workflows
  • AI/ML concepts
  • AI-powered tools
  • ethical AI use