Software Development Engineer

Expedia, Inc.
Charing Cross, United Kingdom
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Intermediate

Job location

Charing Cross, United Kingdom

Tech stack

Java
API
Artificial Intelligence
Amazon Web Services (AWS)
Azure
Clickstream
Cloud Computing
Code Review
Continuous Integration
Data Structures
Software Debugging
Software Design Patterns
Distributed Systems
Github
Object-Oriented Software Development
Pair Programming
Software Engineering
Data Streaming
Strategies of Testing
Data Processing
Google Cloud Platform
Concurrency
Backend
Kotlin
Data Lake
Information Technology
Apache Flink
Real Time Data
Kafka
Data Management
Stream Processing
Data Pipelines
Microservices

Job description

EG Clickstream provides data that captures user behavior and experience across Expedia Group sites and apps. This data forms the building blocks for understanding user journeys: what products users search for, which features they see and use, and which marketing channels they arrive from. It powers analysis of Product and Marketing performance to support optimized decision-making and can also be used programmatically to drive personalized, adaptive experiences for our users. As a Software Development Engineer II on Expedia Group's Clickstream team, you will design, build, and operate the real-time data platform that captures and processes user behavior across our sites and apps. You will engineer scalable, resilient streaming systems that power analytics, marketing, and personalized experiences globally. You bring strong analytical and troubleshooting skills, deep proficiency in coding and distributed systems design, and a passion for solving complex problems of scale. You are collaborative, creative, and thrive in a dynamic, agile environment where you continuously learn and raise the bar. What you will do:

  • Design, build, and operate highly available, low-latency streaming services and data pipelines (primarily in Java/Kotlin) running in public/hybrid cloud environments.
  • Write clean, efficient, well-tested code; practice pair programming and conduct thorough code reviews.
  • Apply object-oriented design, distributed computing, performance/scalability tuning, and advanced data structures/algorithms to real-time streaming and data processing.
  • Build and evolve microservices and data APIs that power analytics and personalized experiences.
  • Implement robust testing, monitoring, alerting, and observability to ensure reliability and rapid incident response.
  • Troubleshoot complex production issues, perform root-cause analysis, and drive long-term fixes and improvements.
  • Collaborate with product managers, data engineers, analysts, and platform teams to deliver high-impact solutions.
  • Contribute to technical design documents; communicate trade-offs and decisions clearly within the team.
  • Stay current with advancements in cloud data platforms, streaming technologies, and best practices; mentor junior engineers.

Requirements

Do you have experience in System design?, Do you have a Master's degree?, * Bachelor's or Master's degree in Computer Science or a related field, or equivalent professional experience.

  • 2+ years of professional software development experience, including building and operating backend/microservices in Java; Kotlin or Scala experience is a plus.
  • Hands-on experience with streaming platforms (e.g., Kafka, Kinesis, Pub/Sub) and event-driven architectures.
  • Experience building production-grade data processing applications in public/hybrid cloud environments (e.g., AWS, GCP, Azure).
  • Solid understanding of software engineering fundamentals: algorithms, data structures, concurrency, distributed systems, and design patterns.
  • Proficiency in testing strategies (unit, integration), CI/CD, monitoring, alerting, and incident management.
  • Familiarity with observability concepts and tools to monitor application health and performance.
  • Strong debugging, problem-solving, communication, and collaboration skills; self-starter with a learning mindset.
  • Familiarity with basic AI tools (e.g., GitHub Copilot, code assistants) to accelerate development or documentation, used responsibly within company policies.

Preferred qualifications:

  • Experience with Kafka Streams (KStream) and/or Apache Flink for stateful stream processing.
  • Familiarity with schema registry, data lake technologies, and data quality frameworks.

Accommodation requests

About the company

Expedia Group brands power global travel for everyone, everywhere. We design cutting-edge tech to make travel smoother and more memorable, and we create groundbreaking solutions for our partners. Our diverse, vibrant, and welcoming community is essential in driving our success. Why Join Us? To shape the future of travel, people must come first. Guided by our Values and Leadership Agreements, we foster an open culture where everyone belongs, differences are celebrated and know that when one of us wins, we all win. We provide a full benefits package, including exciting travel perks, generous time-off, parental leave, a flexible work model (with some pretty cool offices), and career development resources, all to fuel our employees' passion for travel and ensure a rewarding career journey. We're building a more open world. Join us. Expedia Group powers global travel for everyone, everywhere. We design cutting-edge technology to make travel smoother and more memorable, and we create groundbreaking solutions for our partners. Our diverse, vibrant, and welcoming community is essential to driving our success. A singular technology platform powered by data and machine learning provides secure, differentiated, and personalized experiences that drive loyalty and traveler satisfaction.

Apply for this position