Principal Software Engineer, Core Orders
Toast Overview:
We are a rapidly growing company that’s revolutionizing the way the restaurant industry does business by pairing technology with an unrivaled commitment to customer success. We help restaurants streamline operations, increase revenue, and deliver amazing guest experiences through our platform that combines restaurant point of sale, guest-facing technology, and award-winning customer support. As a Toaster, you will be challenged to take on meaningful projects that will help shape the future of the company. Join us as we empower the restaurant community to delight guests, do what they love, and thrive.
Job Overview:
Do you like to solve complex problems at scale? Toast is looking for a Principal Software Engineer to play a critical role on the team responsible for our Core Orders APIs and Pricing Algorithms. The Toast system currently accepts orders from a number of different sources including our Android tablets (keyed by waitstaff), consumers (online orders) and partners (via our APIs). Parts of this code are executed multiple times by every single order that enters the system. We are dealing with problems of scale and representing billions of dollars in value to our customers. As we continue to grow, we expect the demands for orders and entry points into our system to increase rapidly. In order (pardon the pun) to meet these demands, we will need to build a system that is both increasingly extensible, robust, scalable and deliverable continuously. We need your help to improve our platform and add the next generation of features to this absolutely mission critical part of our product.
Some projects we’ve been recently working on include:
- Creating a unified Pricing Module to be shared across all clients powered by our system
- Pluggable, modular, configurable Taxation Module to support a much wider variety of different tax codes (at the local / state level)
- Re-architect how we deal with historical orders using immutable data; allowing archival of historical data to separate analytics data store
- Tooling which allows for the running of millions of historical checks against new Pricing algorithms to compare differences
- Expanding functionality of our APIs to support more and more clients
As a Principal Software Engineer on the Orders Team, you will be:
- Designing, building and maintaining high performance, flexible and highly scalable web and mobile applications
- Participating in designing, estimating effort, implementing, testing, debugging, configuring, integrating and documenting database, middle-tier and front-end code
- Diagnosing performance bottlenecks and implementing optimizations for services which deal with hundreds of millions of requests
- Thinking in terms of the end-user and designing accordingly
- Surveying and evaluating available technology options
- Actively contributing to product design and feature selection discussions
- Participating in code reviews to ensure technical implementations meet functional requirements
- Mentoring other team members
Do you have the right ingredients?
- Proficient in Java; Kotlin a plus
- Well-versed in tiered web application architecture and databases
- Passionate about building great software
- A lifelong learner
- Known for having a get unblocked attitude
- Microservices knowledge is preferred
- Previous exposure to a SaaS product is preferred
- Android experience is a plus