Summary
Join Tripadvisor as a Senior Software Engineer to lead the development and optimization of complex backend systems and services. You will architect and scale microservices for AI and data products, design and implement robust APIs, and mentor junior engineers. The role requires proficiency in Python, experience with cloud platforms, and a strong understanding of database systems. You will work closely with data scientists and other teams to build scalable and efficient solutions for Tripadvisor's petabyte-scale data. This position offers the flexibility to work from home and/or the office.
Requirements
- Bachelorβs 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
Responsibilities
- 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
Preferred Qualifications
- 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
Benefits
*This role gives the flexibility to work from home and/or the office
Disclaimer: Please check that the job is real before you apply. Applying might take you to another website that we don't own. Please be aware that any actions taken during the application process are solely your responsibility, and we bear no responsibility for any outcomes.