Staff Software Engineer (Avaliability)
Role summary
OpenTable is seeking a Staff Software Engineer for their Diner Core Availability team in Toronto. This hybrid role involves building and operating systems for availability search, handling millions of diners and thousands of searches per second with strict low-latency and high-reliability requirements. The engineer will be a hands-on coder and technical leader, responsible for designing, implementing, and evolving C#/.NET services, owning the architecture of availability search services and caches, and leading the evolution of their event-driven architecture. The role requires 5+ years of experience in C#/.NET backend services, high-throughput/low-latency systems, caching technologies like Redis, event-driven architectures (Kafka), distributed systems, and observability. The ideal candidate will also demonstrate strong technical leadership, a bias for action, and the ability to decompose complex initiatives.
##### 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
- Design, implement, and evolve C#/.NET services and APIs that expose availability information to internal and external consumers.
- Own the architecture of availability search services and related caches, ensuring low-latency, high-throughput performance at global scale.
- Define strategies for in-memory and distributed caching (e.g., Redis) that balance freshness, consistency, and cost.
- Lead the evolution of our event-driven architecture (Kafka) for propagating inventory, configuration, and policy changes into availability systems.
- Make pragmatic trade-offs between delivery speed, technical quality, operational risk, and cost
- Use AI tooling thoughtfully (e.g., for design exploration, code generation, test scaffolding, and incident analysis) to increase team velocity while maintaining a high quality bar
### Drive execution and outcomes
- Break down large, ambiguous availability initiatives into sequenced technical workstreams
- Provide reliable estimates and hold yourself accountable to delivery commitments, while adjusting plans thoughtfully as new information emerges.
- Proactively identify and unblock cross-team dependencies across other backend and platform teams
- Represent the team in projects you own during sync meetings by providing clear, and actionable updates.
### Provide technical leadership
- Set and uphold code, design, and review standards for the team in C#/.NET and our surrounding ecosystem, with a focus on simplicity, testability, readability, and long-term maintainability.
- Represent the Diner Core Availability team in cross-team forums and communities of practice, ensuring our systems align with platform-wide standards while feeding local needs back into those standards.
- Foster a healthy, inclusive engineering culture: encourage thoughtful debate, blameless retros, and data-driven decision-making.
## What We're Looking For
### Technical experience
- Strong experience (5+ years) designing, implementing, and operating backend services in C#/.NET
- Proven track record building and scaling high-throughput, low-latency services (e.g., search, recommendation, or other read-heavy systems).
- Deep hands-on experience with Redis and other cache technologies, including key design, eviction strategies, cache invalidation patterns, and multi-layer caching topologies.
- Solid understanding of event-driven architectures and Kafka (or similar systems)
- Strong experience with database systems (SQL/NoSQL), including schema design, indexing strategies, query optimization, and handling high-volume read/write workloads.
- Strong grasp of distributed systems fundamentals: consistency models, failure modes, circuit breaking, timeouts, retry/backoff strategies.
- Experience with observability and performance tuning in production (profiling, capacity planning, latency/throughput trade-offs).
- Comfortable using AI-assisted development tools (for example, to accelerate implementation, test coverage, code reviews, or incident analysis) in a safe and responsible way.
### Staff-level impact and leadership
- History of acting as a technical leader on a product or platform team: setting direction, influencing roadmaps, and being accountable for significant system outcomes.
- Demonstrated bias for action: proactively unblocking teams, building prototypes, driving decisions to closure, and moving complex initiatives forward without waiting for perfect information.
- Demonstrated ability to decompose large, ambiguous initiatives into clear technical plans that multiple engineers can execute.
- Comfortable working with cross-functional stakeholders (Product, Design, Data, other Engineering teams) to balance technical constraints, user experience, and business impact.
- A bias toward data-informed decisions: using metrics and experiments to validate whether changes are improving outcomes.
### Nice to have
- Experience with search or ranking systems
- Background in reservation or marketplace platforms where availability and matching are core problems.
- Familiarity with Kubernetes-based deployments, service meshes, and modern CI/CD pipelines.
Benefits and Perks
- Work from (almost) anywhere for up to 20 days per year
- Focus on mental health and well-being:
- - Company-paid therapy sessions through SpringHealth
- Company-paid subscription to HeadSpace
- Company-wide week off a year - the whole team fully recharges (and returns without a pile-up of work!)
- Paid parental leave
- Generous paid vacation + time off for your birthday
- Paid volunteer time
- Focus on your career growth:
- - Development Dollars
- Leadership development
- Access to thousands of on-demand e-learnings
- Travel Discounts
- Employee Resource Groups
- 20 days of paid time off upon start
- Private health and dental insurance
- Life and Disability insurance
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.