Staff Software Engineer (Availability)
Role summary
OpenTable is seeking a Staff Software Engineer for their Diner Core Availability team in Toronto. This hybrid role focuses on building and operating systems that power global availability search, handling thousands of searches per second with strict low-latency and high-reliability requirements. The engineer will be a hands-on technical leader, responsible for designing, implementing, and evolving C#/.NET services and APIs, owning the architecture of availability search services and caches, and leading the evolution of their event-driven architecture using Kafka. The role requires deep experience with C#/.NET, Redis, distributed systems, databases, and observability, along with a proven track record of technical leadership and driving complex initiatives. Experience with search systems and Kubernetes is a plus.
This is a hybrid schedule (2x/week) role planned for our downtown Toronto, Canada office.
About OpenTable
With millions of diners and tens of thousands of restaurant partners around the world, OpenTable is an industry leader in online reservations. Our technology helps restaurants focus on what matters most – their guests, their teams, and their business – while giving diners a reliable, delightful way to find the perfect restaurant for any occasion.
Every OpenTable employee has a tangible impact, contributing to a global team that includes our sister brand KAYAK and its portfolio of travel products. We believe hospitality is about taking care of others, and that ethos shapes both our products and how we work together.
The Opportunity
The Diner Core Availability team builds and operates the systems that power availability search for the core diner experience—delivering fast, reliable booking options across our global network.
We serve millions of diners, handle several thousands of searches per second, and operate under strict low-latency and high-reliability requirements. The team owns the end-to-end lifecycle of availability queries: from ingesting upstream changes (inventory, policies, events) through event-driven pipelines, to maintaining highly-optimized in-memory and distributed cache layers, to responding to real-time search requests from web and mobile clients.
We’re looking for a Staff Engineer who applies a deep understanding of the underlying technologies and dependencies to solve problems. They help raise the bar on performance, reliability, and simplicity as we scale availability search at OpenTable.
Technologies you’ll work with include C#/.NET, Redis, in-memory and distributed caches, RESTful APIs, and Kafka-based event-driven architectures (EDA).
What You’ll Do
You’ll be both a hands-on engineer and a technical leader: writing code, writing technical design docs, reviewing design docs, and owning solutions end-to-end from design through rollout, observability, and ongoing iteration.
Code craft and architecture
Drive execution and outcomes
Provide technical leadership
What We’re Looking For
Technical experience
Staff-level impact and leadership
Nice to have
Benefits and Perks
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.
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.
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
Sign up for a personalized interview prep pack tailored to this role.