TripAdvisor's Global Services team is looking for a Software Developer to join our team. In this role you will be expected to contribute to our team in the US and globally to enhance the support efforts for our user community. In this role, you will responsible for building and managing the tools and automation that are used by the IT Global Services Team on a daily basis. This may include operations, maintenance, efficiencies and reporting from these tools to ensure smooth and consistent service level across the Global Support Team
A Senior Software Engineer at TripAdvisor is a seasoned, experienced professional with a full understanding of area of specialization; resolves a wide range of issues in creative ways. This job is the fully qualified, career-oriented, journey-level position.
A Senior Software Engineer implements reliable production software quickly and with high quality. They mentor more junior engineers and interns, are able to complete complex tasks with guidance from their tech lead, and communicate proactively with project stakeholders. They demonstrate ownership of their team's systems in addition to their projects, and are able to take part in relevant pager rotations. A successful person will require little instruction on day-to-day work, general instructions on new assignments.
What you need to know to be a Software Engineer at TripAdvisor
- Works on problems of diverse scope where analysis of data requires evaluation of identifiable factors.
- Demonstrates good judgement in selecting methods and techniques for obtaining solutions.
- Networks with senior internal and external people in own area of expertise
- Knowledge of programming and programming languages necessary to perform the job.
- Familiar with common data structures and algorithms.
- Understands relational database concepts, and is able to write SQL queries, and construct data schema to support custom applications
- Aware of key software development processes.
- Understands deployment and version control tools.
- Able to quickly become proficient in new tools and technologies, and productive in unfamiliar areas of the code base.
- Understands component/module level implementation details.
- Understands different approaches to testing software to verify correct functionality and to characterize performance.
- Understands how to use application development frameworks, APIs and a variety of common software implementation techniques.
- Understands advanced features of programming languages and is comfortable in using relevant tools and techniques to aid software implementation.
- Knowledge of frameworks and APIs necessary to perform the job.
- Knowledge of common security exploits, such as XSS, CSRF, and SQL injection
- Advanced configuration, implementation, and user acceptance testing.
- Has in-depth technical experience with full stack server side and web development
- Build UI for web applications including graphics, navigation structure, and usability.
- Work with API’s, web Services and open source Web server tool such as Apache Tomcat
- Scripting Experience (Powershell, Bash, Python, Perl, Ruby, etc.)
- Ability to work with teams to establish SDLC (Software development life cycle)
- Follow agile / scrum methodologies to deliver projects faster and with less rework, and deliver business value quicker
- Troubleshoots and resolves issues related to application development, deployment and operations
- Documents solutions and provides user trainings and guidance
Additional Knowledge is a Plus:
- Knowledge of JIRA, integrations, tools and automation. May be required to work with local JIRA Administrators organizationally.
- Knowledge of Kuberentes
- A Bachelor’s Degree in Computer Science or similar focus
- 4-8 years related work experience and Bachelors degree, or 2-4 years with Masters degree
- 7 + years of experience in DevOps and Software Development
- 2 + years of experience with automation tools
- 2 + years of experience working with code revision tools, preferably Git
- Ability to troubleshoot and repair complex technical problems with team members, customers, and vendors quickly and effectively
- Strong problem solving and communication skill
- Strong analytical skills that drive to service improvement solutions
- Excellent problem solving and analytical skills
- Superb oral and technical writing communication skills
- Driven, self-managed and self-motivated
- Ability to research and reproduce reported issues