Senior Java Backend Engineer
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 identities, abilities, and experiences, so we can collectively revolutionize travel and together find the good out there.
We are looking for a Senior Java Backend Engineer to join our remote team of backend engineers. In this role, you will be both contributing to projects and leading projects to build out product features and modernize our platform and UI tooling.
As a Senior Java Backend Engineer, you will independently develop solutions in support of our systems across all layers of the stack. You will actively collect and refine requirements to help turn ambiguous project statements into actionable plans. You will build application specification documents, draw flow charts and design application architecture. You will be responsible for designing relational databases, microservices and APIs.
Through your work you will grow expertise in one or more technologies and share your learnings with your team. You will be responsible for testing the software you write and will maintain your features once released. You will actively provide code reviews to your peers, ensuring that team standards and best practices are adhered to. Similarly, you will actively seek feedback from your peers and promote a collaborative and fast-paced engineering culture. You will sometimes coordinate the work of other engineers, providing mentorship to help them succeed.
What you will do:
- Lead design and implementation of complex technical systems, estimating scope of work, organizing and prioritizing work, communicating timelines, managing expectations, and providing timely status updates.
- Work closely with stakeholders (e.g. product and data analysts) to define system requirements, weighing engineering and product trade-offs to recommend technical options that are extensible, scalable, robust, secure, and maintainable
- Be responsible for the quality of code you ship, troubleshooting complex issues and driving them to resolution. Own and be accountable for the business-critical systems you deliver.
- Mentor junior engineers and promote the success of the team by participating in design reviews, providing critical code review feedback, assisting and unblocking team members, contributing to and supporting team values and processes
- Be responsible for all aspects of software engineering, from design to implementation, QA, operations and maintenance.
Skills & Experience:
- Bachelor of Science in Computer Science or equivalent
- 5+ years of large scale, full life cycle development experience
- Experience and skills in designing and building Java-based programs and applications
- Hands on experience with SQL
- Solid foundation in data structures, algorithms, and OO design
- Experience working in a tech lead capacity, designing as well as implementing complex software solutions and coordinating the work of other engineers on the project
- Cloud Platform experience (AWS) and knowledge of some IaC framework