Hopper is a leading travel platform aiming to revolutionize the travel industry through data and advanced machine learning. The Software Engineer - Flights will play a critical role in developing and enhancing the core flight booking engine, driving feature delivery, and ensuring system reliability in a high-volume, real-time environment.
Responsibilities:
- Driving Core Feature Delivery: Taking ownership of major feature releases across the entire flight booking funnel—from flight search to booking creation and post-booking fulfillment
- Impacting Global Reach: Building scalable services that integrate new airline partners and support our B2B distribution network, enabling Hopper’s growth worldwide
- System Reliability: Contributing directly to the design and implementation of highly resilient, low-latency services that ensure a trustworthy and seamless experience for customers under high load
- End-to-End Feature Development: Designing, implementing, and deploying high-quality code for new flight product features, taking them from concept to production
- System Enhancement: Participating actively in discussions around system design, identifying opportunities to improve service scalability, performance, and monitoring (SLOs/SLAs)
- Integration Projects: Leading the technical implementation of new integrations with external airline and GDS partners, navigating complex communication protocols and data schemas
- Code Quality and Mentorship: Upholding high standards for code quality through thorough code reviews, mentoring more junior engineers on best practices, and driving engineering excellence
- Implementation and Review: Writing clean, performant code, contributing significantly to the codebase, and performing code reviews to maintain quality and share knowledge
- Technical Problem Solving: Collaborating with senior engineers to troubleshoot, debug, and resolve challenging production issues in a distributed system
- Requirements Planning: Partnering with Product Managers and Product Operations to understand business requirements, decompose features into technical tasks, and estimate delivery timelines
- System Exploration: Deeply exploring and improving the existing codebase and contributing to engineering improvements for the core flights product
Requirements:
- Feature Ownership Track Record: A working history of owning the technical implementation, testing, and deployment of features throughout the development life cycle
- System Contribution: Experience working on and contributing to the design of highly available microservices in a production environment
- Language Proficiency: Strong proficiency in Scala or other JVM languages, such as Java/Kotlin
- Distributed Systems Experience: Familiarity with various service communication methods, including gRPC, Pub/Sub, and REST, and practical experience working in a distributed environment
- Collaboration and Communication: Excellent communication skills, demonstrating an ability to effectively collaborate with developers, product managers, and operations teams to achieve feature goals