Staff Software Engineer, Search Platform
Role details
Job location
Tech stack
Job description
We serve several billion requests per day and host multiple billion documents in our production system. The mission of the search platform team is to help the different eBay product teams to create relevant, scalable, and magical experiences that are powered by AI. We do this by:
- Adding new functionality to the platform,
- Optimizing cost-to-serve and latency on a platform level or optimizing via consultation on the application level, and
- Improving self-serve and monitoring capabilities.
General platform optimizations are usually achieved by developing or using advanced data structures and algorithms, while application-level optimizations are mostly rooted in a deep understanding of designing information retrieval systems. The core components of Cassini are written in modern C++, and we use parallel and distributed computation to power query serving. If you have a background in those areas and like to contribute to achieving our mission, please come join us! What you will accomplish:
- Understand, estimate, design, and develop sophisticated software applications in C++
- Deliver highly performing, low latency, robust code with high test coverage, continuous integration, and production monitoring
- Participate in code and design reviews
- Optimize development cycles through CI/CD enhancements and AI-driven tools
- Triage and debug production issues
- Share your knowledge with team members via documentation and mentoring
Requirements
- Bachelor's or Master's Degree in Computer Science or a closely related field, accompanied by 5 years of proven experience, or equivalent experience in place of the degree
- Solid foundational knowledge and practical application experience in the field of Information Retrieval
- Deep, demonstrable expertise using modern C++ standards (C++17/20 or later) for high-performance computing
- Expertise in building scalable, distributed systems
- Strong intellectual curiosity and a tenacious drive to own and successfully solve ambiguous, difficult technical challenges
- Experience designing, instrumenting, and maintaining systems in a production environment (observability, alerting, monitoring, etc.)