Software Development Engineer II

2 giorni fa

Roma, Lazio, Italia Expedia Group Tempo pieno 46.000 € - 65.000 € Contratto

About Expedia Group

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.

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, design exploration, code generation, test generation, documentation, and debugging.
  • Take full responsibility for understanding, reviewing, testing, securing, and hardening AI-assisted output before it is merged or deployed.
  • Do not expose confidential, personal, or sensitive information to tools that are not approved for that data.
  • Identify localized technical debt, reliability gaps, or inefficient development practices and propose practical improvements based on evidence.
  • Share knowledge through code reviews, pairing, design discussions, documentation, demos, and participation in engineering communities of practice.

Benefits and perks

Expedia Group offers benefits and perks designed to support employees and their families, including medical, dental, and vision coverage, paid time off, an Employee Assistance Program, wellness