Tripadvisor is looking for an experienced Senior Software Engineer to join our Find & Discover Team. This team builds foundational search, taxonomy, natural language processing and other capabilities for the Tripadvisor website and app. These capabilities are expressed as both user facing features as well as core services consumed by other product and engineering teams.
Our users are looking for guidance and advice across all parts of the travel planning and in-destination experience. Our team aims to answer the aspirational: "show me anywhere in the world, I just want a life-changing experience", to the task-oriented: "help me plan the best possible trip to Belize, I love diving!", to the here-and-now: "I'm going to Chicago for a wedding next week, what's good this time of year?"
We spend our time obsessing over the hundreds of millions of unique monthly users of our products and how they can make the most of their time with us, so that they can find the right hotels, restaurants, experiences and more that will make for the best trip possible. Successful members of our team have a passion to positively impact our users, and actively seek out that opportunity from day one. Working in partnership with Product Management, Design, Machine Learning, and Platform Infrastructure teams, you will deliver solutions that scale to our community, that showcase our experience, and of which you can personally be proud. We move quickly, we iterate constantly, and we're not afraid of setting big goals for ourselves.
What you'll do:
- Architect and Develop: You will play a key role in designing, implementing, and optimizing search algorithms and infrastructure to ensure speed and accuracy.
- Data Integration: Ensure that different systems, data sources and types can work together effectively.
- Code Development and Maintenance: Actively engage in coding across various levels, from APIs and backend microservices to search cluster management. Participate in a daily release cycle, with frequent code deployments to production.
- Cross-Team Collaboration: Collaborate closely with other teams to align requirements with feature specifications and deliver high-quality outcomes for customers.
- Software Security: Apply software security best practices and adhere to secure coding principles.
- Technical Leadership and Mentorship: Provide technical leadership for the team, offering guidance and mentoring to junior developers. Take responsibility for maintaining high code quality for both personal contributions and team outputs.
- Stay Current: Keep up to date with industry trends and best practices in search technology and software engineering.
Skills and Experience:
- 7 + years of large scale, full life-cycle development experience
- Hands-On Experience with Elasticsearch (or Similar): Proven operational expertise with Elasticsearch, including practical skills in schema design, querying, management, and optimization.
- AWS Experience: Proficient in using AWS services (e.g., ECS, DynamoDB, Lambda, S3) and understanding of cloud architecture principles.
- Search Algorithms: Understanding of information retrieval, ranking algorithms, and search optimization techniques. Experience in search algorithms, including natural language processing and semantic search models in related domains, is a plus.
- LLM Experience: Any experience designing and developing against large language models is a plus
- Database Knowledge: Ability to design and query relational databases; familiarity with special-purpose data platforms is a plus.
- Communication: Excellent verbal and written communication skills, with the ability to convey complex technical concepts to non-technical stakeholders.