Job Description
About the job
We believe that we are better together, and at Tripadvisor we welcome you for who you are. Our workplace is for everyone, as is our people powered platform. At Tripadvisor, we want you to bring your unique perspective and experiences, so we can collectively revolutionize travel and together find the good out there.
Our team is tasked with building out AI services and data products to power internal and external products across Tripadvisors brands. Our mission is to work very closely with data scientists to build out and scale shared services and products in the AI space. Tripadvisor hosts over 450 million monthly active visitors and operates across multiple cloud environments with some of our internal services running 10s of thousands of requests per second. Our data is at the petabyte scale, requiring scalable, efficient, and reliable solutions to operate at that level of demand.
We are seeking a highly skilled and experienced Senior Software Engineer to lead the development and optimization of complex backend systems and services. This role involves architecting and scaling microservices for orchestrating business logic to vector DBs, machine learning models, LLMs, ML features, and other critical backend systems. The Senior Software Engineer will drive the design and implementation of robust APIs and backend components to ensure the seamless deployment, scalability, and operation of AI data, services, and products. Additionally, this role will include mentoring junior engineers, leading technical discussions, and providing strategic direction to ensure the success of our AI and data initiatives.
What Youll Do
- Work closely with data scientists, machine learning engineers, and cross-functional teams to design, implement, and maintain complex backend systems and integrate them into other products. Lead the development of new features and enhancements from concept to implementation.
- Architect backend services required for hosting, serving, and connecting to machine learning models or AI-powered applications. Ensure that solutions are scalable, efficient, and robust.
- Design and implement APIs to facilitate communication between client systems and machine learning components. Ensure APIs are well-documented, versioned, and provide a clear interface for integration.
- Implement best practices for performance, scalability, and reliability.
- Develop and maintain CI/CD pipelines for automated testing, deployment, and monitoring. Ensure high standards for code quality, reliability, and security.
- Mentor junior engineers, provide technical guidance, and lead code reviews to uphold high standards of software development.
Skills & Experience
- Bachelors degree in Computer Science or related field, with a minimum of 8 years of commercial software development experience, or equivalent work experience.
- Proficiency in Python, including best practices, design patterns, and usage of open-source libraries.
- Proficiency with asynchronous frameworks and libraries in Python (such as asyncio).
- Proficiency building microservices using frameworks such as FastAPI, Django, and Flask.
- Advanced knowledge of containerization technologies (Docker) and familiarity with container orchestration services (Kubernetes or AWS ECS).
- Hands-on experience with cloud platforms (AWS, Azure, GCP) and infrastructure as code tools (CDK, Terraform).
- Strong understanding of database systems, both SQL and NoSQL (e.g., PostgreSQL Cassandra, DynamoDB).
- Exposure to GenAI LLM APIs and libraries (such as LangChain).
- Strong analytical skills, ability to break down complex problems into simple solutions, and a desire to write clean, efficient code.
- Excellent communication and collaboration skills, with a sense of ownership and pride in your work.
Nice To Have
- Experience with AWS Bedrock or other LLM Hosting platforms.
- Experience with Java microservice development using frameworks such as Spring Boot.
- Experience with async frameworks and libraries in Java such as Project Reactor, RxJava, or CompletableFuture.
- Experience with distributed computing frameworks such as Snowflake, Apache Spark, Apache Flink, or Ray/Anyscale enabling scalable data processing solutions.
- Experience with vector databases like Qdrant or AWS OpenSearch Service.
- Experience in designing and implementing distributed event-driven microservice architectures using technologies like Apache Kafka or AWS SQS, SNS, and Kinesis.
- Experience with monitoring and alerting platforms like Grafana, Prometheus, ELK Stack, or Datadog to ensure system reliability and performance.
- This role gives the flexibility to work from home and/or the office.
If you need any reasonable accommodation or support during the application or the recruiting process due to a medical condition or disability, please reach out to your individual recruiter or send an email to [email protected] and let us know the nature of your request. Please include the job requisition number in your message.