Software Development Engineer II
Expedia Group
- Location
- Rome, Italy
- Employment
- Full Time
- Work model
- On-Site
- Level
- Mid
- Posted
- Sep 16, 2026
Skills
About this role
At Expedia Group, we help travelers explore the world, one journey at a time. As a global travel company powered by passionate people, trusted partnerships, and leading technology, we connect travelers, partners, and advertisers through our consumer brands, B2B network, and travel advertising business. Here, you'll do meaningful work that helps millions of people discover, book, and experience travel with more ease, confidence, and joy. Our five Behaviors-Traveler First, Think Big, Operate with Excellence, Ownership Mindset, and Succeed Together-help foster a supportive environment where people can grow their careers and have the flexibility, benefits, and support to do their best work. Join us and build for travelers everywhere.
About the team
The Experimentation Platform team builds the systems and tools that enable Expedia Group teams to apply the scientific method at enterprise scale. Our customers include product managers, engineers, analysts, and data scientists. We work closely with analytics and product partners to make experimentation reliable, understandable, and easy to use.
Education
2+ years for Bachelor's 0-2 years for Master's Education Experience Bachelor’s degree in Computer Science or a related technical field; or equivalent related professional experience. 2+ years of relevant professional software engineering experience. Technical & Functional Skills Professional experience developing and maintaining production software as part of a collaborative engineering team. Proficiency in at least one modern programming language and its ecosystem, such as Java, Kotlin, TypeScript , Python , or similar. Understanding of core software engineering fundamentals, including data structures, algorithms, modular design, testing, debugging, and version control. Experience contributing to services or components in a cloud-based environment, with exposure to APIs, data modeling, deployment, and production support. Ability to write clear, maintainable code and explain implementation decisions. Ability to collaborate with teammates and cross-functional partners, ask clarifying questions, receive feedback, and communicate status and risks. Practical experience using approved AI-assisted development tools, with examples of validating and improving generated code, tests, documentation, or debugging output. What you’ll do Design, develop, test, deploy, and support well-scoped features, fixes, and improvements within services or components owned by the team. Translate product and technical requirements into maintainable code, clear APIs, data changes, tests, and operational checks. Contribute to component-level and service-level design discussions, identifying dependencies, risks, failure modes, and reasonable trade-offs with support from more senior engineers when needed. Apply sound software engineering fundamentals, including modular design, data structures, appropriate design patterns, secure coding, and clear naming and documentation. Build reliable automated tests, including unit and integration tests, and improve test coverage where it reduces risk or accelerates delivery. Instrument changes with useful logs, metrics, traces, and alerts; use observability tools to validate behavior and investigate issues. Participate in on-call or support rotations appropriate to the team, helping diagnose and resolve incidents with support from more experienced engineers and following established service-level expectations. Collaborate with engineers, product managers, analysts, data partners, and other stakeholders to clarify use cases, break work into incremental deliveries, and make pragmatic decisions. Explain implementation choices clearly, surface blockers early, incorporate feedback, and provide reliable status updates. Use AI-assisted development tools as a co-pilot across the software development lifecycle, including requirements clarification,