Software Development Engineer III
Expedia GroupAbout the role
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 global hybrid work setup (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.
Introduction to the team
Join our dynamic team that builds and maintains the core search platform for millions of travelers worldwide. We focus on delivering highly personalized, relevant, and real-time search results at scale. As part of this team, you’ll work with cutting-edge technology and have the opportunity to solve complex, large-scale problems. We operate in a fast-paced environment, and your work will directly impact millions of users globally.
Job Overview:
As a Software Development Engineer on the Search team, you will design, develop, and maintain large-scale distributed systems that power our search functionality. You will collaborate with cross-functional teams to build high-performance, scalable services and features that enable a seamless user experience. You are expected to take ownership of key technical decisions, contribute to system architecture, and mentor junior developers.
In this role, you will:
Design and develop scalable, high-performance backend services that handle millions of search requests per day
Implement efficient data structures and algorithms to optimize search orchestration, relevance, ranking, and retrieval using technologies like Elasticsearch and Redis
Work on messaging and event-driven systems with Apache Kafka to ensure reliable and low-latency data flow between services
Collaborate with product managers, engineers, and stakeholders to deliver high-quality, user-focused features
Maintain and improve our existing Kotlin-based codebase, following software engineering best practices including CI/CD, automated testing, and monitoring
Optimize and tune search performance in distributed systems, handling fault tolerance, replication, and failover scenarios
Mentor junior engineers by conducting code reviews, sharing knowledge, and providing feedback
Take part in on-call rotations and work to improve system reliability and operational excellence
Stay up to date with the latest technologies and contribute ideas to continuously improve our systems and processes
Experience and qualifications:
Bachelor’s or Master’s degree in Computer Science, Software Engineering, or related field
5+ years of experience in backend software development with a focus on scalable, distributed systems
Proficiency in Kotlin, or strong experience in another JVM-based language (e.g., Java) with a willingness to learn Kotlin
Hands-on experience with Redis, Elasticsearch, and Apache Kafka in a production environment
Strong understanding of algorithms, data structures, and system design principles
Experience with cloud-based e
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s