Senior Frontend Engineer - Hospitality
Required skills
- React
- TypeScript
- JavaScript
- 5+ years experience
Nice to have
- Node.js
- AI dev tools
- Claude Code
- Codex
- Cursor
- Sentry
Role summary
OpenTable is seeking a Senior Frontend Engineer to enhance web experiences for restaurant customers. This hybrid role involves building modern, data-rich guest relationship tools, leveraging AI development tools to streamline workflows, and refining existing applications. The engineer will collaborate with product and design teams, utilize observability tools for performance and quality, and contribute to a culture that values empathy, growth, and communication. The position requires 5+ years of experience with JavaScript/TypeScript and React, with preferred knowledge of Node.js, AI dev tools, and build systems.
This hybrid role requires working in the office two days per week. Learn more about our Hospitality team at OpenTable!
With millions of diners, 70,000+ restaurant partners and 25+ years of experience, OpenTable, part of Booking Holdings, Inc. (NASDAQ: BKNG), is an industry leader with a passion for helping restaurants thrive. Our world-class technology empowers restaurants to focus on what matters most – their team, their guests, and their bottom line – while enabling diners to discover and book the perfect restaurant for every occasion.
Every employee at OpenTable has a tangible impact on what we do and how we do it. You’ll also be part of a global team and its portfolio of metasearch brands. Hospitality is all about taking care of others, and it defines our culture.
We’re hoping that you, a Senior Frontend Engineer, can come help us create even more engaging web experiences for our restaurant customers. Our applications are written in modern React with Hooks and Redux using TypeScript. We test with React Testing Library and Cypress, work in Node.js, and collaborate closely with backend engineers, product managers, designers and delivery managers. This posting is for an existing vacancy.
You’ll help us:
You’ll fit right in if:
Benefits and Perks
The best connections happen face-to-face, whether you’re sitting down to dinner or having coffee with a coworker. That’s why OpenTable has adopted a hybrid workplace model. This role aligns with that approach, with an expectation of coming into the office two days a week—giving employees the best of both worlds: in-person collaboration and flexibility.
The expected range of compensation for this position based in Toronto, Canada, including commission and/or bonuses, is $145,000-$165,000 CAD. There are a variety of factors that go into determining a compensation range, including but not limited to external market benchmark data, geographic location, and years of experience sought/required.
We offer a competitive base salary and benefits including: health benefits; flexible spending account; retirement benefits; life insurance; paid time off (including PTO, paid sick leave, medical leave, bereavement leave, floating holidays and paid holidays); and parental leave benefits. This role is eligible to be considered for an annual bonus and equity grant.
Work Environment & Flexibility
At OpenTable, we pride ourselves on fostering a global and dynamic work environment. As a team member with us, you will benefit from a schedule tailored to accommodate a global workforce operating across multiple time zones. While the majority of your responsibilities may align with conventional business hours, there will be instances where you are expected to manage communications - via calls, Slack messages, or emails - outside of regular working hours to effectively collaborate with international colleagues, respond to restaurant partners, and/or address urgent matters. OpenTable will always abide by and consider local laws and regulations.
Inclusion
We’re committed to creating a workplace where everyone feels they belong and can thrive. We know the best ideas come when we bring different voices to the table, so we're building a team as dynamic as the diners and restaurants we serve—and fostering a culture where everyone feels welcome to be themselves.
If you need accommodations during the application or interview process, or on the job, we’re here to support you. Please reach out to your recruiter to request any accommodations.
#LI-SK1
#LI-Hybrid
Sample OpenTable interview questions
- 1
What strategies would you employ to handle seasonal variations and new types of fraud in your detection system?
system designmedium - 2
Decode Ways Determine the number of valid ways to decode a string of digits. Input: s = "10" Output: 1 Explanation: The string can only be decoded one single way, as the sequence '10' maps exclusively to the letter 'J'.
codingmedium - 3
Add Two Numbers Represented as Strings Add two non-negative integers represented as strings. Input: num1 = "456", num2 = "77" Output: "533" Explanation: Performs character-by-character addition from right to left, carrying the 1 from 6+7=13 to the next decimal place.
codingmedium - 4
Pacific and Atlantic Water Flow Calculate water flow from a matrix to the Pacific and Atlantic oceans. Input: heights = [[2,1],[1,2]] Output: [[0,0],[0,1],[1,0],[1,1]] Explanation: All cells can flow to both oceans because water can move to adjacent cells of equal or lower height or directly off the edges.
codingmedium - 5
Merge a New Interval Merge a new interval into a list of non-overlapping intervals. Input: intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8] Output: [[1,2],[3,10],[12,16]] Explanation: The new interval overlaps with [3,5], [6,7], and [8,10], merging them all into the unified block [3,10].
codingmedium
Get started to unlock a personalized interview prep pack for this role.
Similar roles
- Account Manager - FloridaOpenTable · Remote · Remote
- Account Manager (West Coast Based)OpenTable · San Francisco, CA · Hybrid
- Senior Frontend EngineerMagnet Forensics · Remote · Remote
- Frontend Engineer (SF)General Medicine · San Francisco, CA · Onsite
Geospatial Frontend EngineerParsons · Florida · Hybrid
Senior Frontend EngineerTeamSnap · Remote · Remote
