OpenTable, part of Booking Holdings, Inc. (NASDAQ: BKNG), powers reservations for the hospitality industry. OpenTable’s software seats more than 1 billion people per year and helps more than 50,000+ restaurants, bars, wineries and other venues attract guests, manage capacity, improve operations and maximize revenue.
As an employee of OpenTable, you will be part of a global network that includes OpenTable and KAYAK's portfolio of metasearch brands including Swoodoo, checkfelix, momondo, Cheapflights, Mundi and HotelsCombined. Many employees are dedicated to one brand, but we all have the benefit of using each other's strengths and insights. Together, we're able to help people experience the world through dining and travel.
At OpenTable, we deliver creative products through rapid, continuous development. Millions of diners and thousands of restaurants around the globe use our products. If you are an engineer with an interest in search, passionate about problem solving, and love to use technologies to improve customer experience, we'd like to meet you. Bonus points if you love restaurants.
We move fast, collaborate, release frequently, and believe strongly in engineering excellence. We strike a balance in writing good code with automation testing, great code coverage, metrics, and monitoring to help maintain our quality and velocity. We break things sometimes - and that’s fine, we learn from it and become stronger as a result.
Our Search Team is looking for you, a senior engineer, to help us build and improve the key backend services that power the OpenTable search experience for diners on all kinds of platforms from desktop, mobile web, iOS, and Android apps. Our services help support a variety of search related capabilities, from creating personalized and contextualized homescreens, to improving the relevance of search results, optimizing query autocomplete, and many more.
You’ll help us:
Collaborate with other team members, software engineers, product managers, delivery managers, the data science team, and other stakeholders across the organization.
Help foster a strong team culture and cultivate innovation.
Design, develop, test, deploy, maintain and improve existing systems. We’ll be mainly working in Java and using ElasticSearch.
Crafting new systems and APIs as needed
Innovating on ways to search through massive data sets.
You’ll fit right in if:
5+ years in software engineering.
3+ years of Java programming experience.
You are experienced in refactoring code, optimizing software, debugging, and writing tests with great code coverage
Solid debugging and analytical skills in generating result oriented metrics and dashboards.
You're disciplined at unit, integration, and acceptance testing.
You have strong CS fundamentals.
You have a deep understanding of data structures and OO design.
Excellent verbal and written communication skills.
Optional, but a major plus:
Experience in building highly scalable and highly available systems.
Experience working with one or more from the following: machine learning, data science, infrastructure, mobile application and front end development.
Passion for continuous learning and self development. Learning new technologies, stacks, and frameworks.
How you’ll work:
OpenTable teams are independent and come up with their own way of working. Our team uses an agile process with two week sprints to prioritize and drive work. How do you prefer to work? You will have lots of opportunity to positively affect the way we work together.
We are a close-knit team of back-end engineers, product managers, designers and delivery management. We work closely with cross functional teams from app developers to front end engineers for the web. We collaborate with the data science team to improve our search experience with machine learning.
We believe in a healthy work-life balance, and that teams with people from diverse backgrounds create the best end user experiences.
You are not expected to come into the role already knowing all the things our team uses. We enjoy pairing to share knowledge, and will help you pick up new techniques and knowledge. We love to discuss engineering excellence and apply best practices to build scalable and resilient systems. We also look forward to you teaching us new things. A computer science degree is not required to join our team.
We hope that you will come work with us. Our interview starts with a phone conversation with one of our engineers and our team lead. They will tell you more about what we do and ask you about your background and experience.
Next up, we will invite you for a remote interview with a few of our team members, including engineers and product managers. We will pair with you on a coding task, and have a conversation where we can get to know each other. We'll ask some deeper technical questions, and talk about how you approach software development and the culture of building products. You'll have a chance to ask us what we are building, how we work, what we stand for, and anything else you'd like to know.