Software Development Engineer II
About the role
Introduction to the Team
In this role, you will
- Design, develop, test, deploy, and support reliable software using Kotlin or Java.
- Deliver well-scoped features end to end, from requirements clarification and technical design through production validation.
- Build and consume REST and GraphQL APIs and work with relevant data stores.
- Contribute to loyalty platform services and traveler-facing experiences across the full journey.
- Apply object-oriented design, data structures, algorithms, SOLID principles, and appropriate design patterns.
- Write unit, integration, and component-level tests and contribute to continuous integration and delivery.
- Instrument services with meaningful logs, metrics, alerts, and dashboards.
- Investigate production issues, participate in operational support rotations, and resolve defects within established service expectations.
- Collaborate with product managers, designers, data partners, and engineers across Rome, India, the US, and other locations.
- Participate in code reviews, technical discussions, documentation, pairing, and knowledge sharing.
- Use AI-assisted development tools responsibly, validating output for correctness, security, privacy, performance, and maintainability.
Experience and Qualifications
Required
- Bachelor's degree in Computer Science, Engineering, or a related technical field; or equivalent related professional experience.
- 3-5 years of professional software engineering experience, with experience aligned to an SDE II scope.
- Professional experience developing production software with Kotlin and/or Java.
- Knowledge of object-oriented programming, collections, concurrency, error handling, and automated testing.
- Experience with APIs, service integration, version control, CI/CD, code reviews, and debugging.
- Experience building, deploying, and supporting software in a collaborative engineering environment.
- Ability to reason about and communicate a simple service architecture, data flow, API design, and technical trade-offs.
- Proficient communication, collaboration, and problem-solving skills.
- A willingness to contribute across the stack. Experience with React, TypeScript/JavaScript, Android, or iOS is especially valuable.
Preferred
- Production experience with React, TypeScript, JavaScript, HTML, and CSS, including component-based architecture, accessibility, responsive design, and API integration.
- Experience developing Android applications with Kotlin, Jetpack, Jetpack Compose, Coroutines/Flows, or mobile testing.
- Experience developing iOS applications with Swift, UIKit or SwiftUI, concurrency, and XCTest/XCUITest.
- Familiarity with cloud-based systems, distributed services, secure software development, observability, reliability, performance, and accessibility.
- Experience working in Agile, cross-functional teams and an interest in growing across the technology stack.
Why Expedia Group?
You'll work with collaborative teams solving meaningful problems in travel technology. We value curiosity, simplicity, inclusive collaboration, continuous learning, and ownership of outcomes. Expedia Group is committed to creating an inclusive work environment and considers all qualified applicants without regard to protected characteristics.
The total cash range for this position in Rome is €46,000.00 to €64,500.00. Employees in this role have the potential to increase their pay up to €73,500.00, which is the top of the range, based on ongoing, demonstrated, and sustained performance in the role.
Starting pay for this role will vary based on multiple factors, including location, available budget, and an individual's knowledge, skills, and experience. Pay ranges may be modified in the future.
Benefits and perks
Accommodation requests
About Expedia Group
Important notice
Equal Opportunity
Skills
Who can apply
The employer didn't state any visa, work authorization, citizenship or clearance requirements in this posting. Confirm with the employer before applying.
Read automatically from the employer's posting text. Always confirm with the employer — requirements can change after a job is published.