Senior Software Engineer, Team Lead, Platform
Now, more than ever, the Toast team is committed to our customers. We’re taking steps to help restaurants navigate these unprecedented times with technology, resources, and community. Our focus is on building the restaurant platform that helps restaurants adapt, take control, and get back to what they do best: building the businesses they love. And because our technology is purpose-built for restaurants, by restaurant people, restaurants can trust that we’ll deliver on their needs for today while investing in experiences that will power their restaurant of the future.
Bready* to make a change?
The Business Platform Services team at Toast provides core APIs and services on which customer experiences are built. We are at the very core of Toast, as we own the management of customers’ business data, enable the configuration of restaurants and software modules they use, and run a service for resilient communication between the Toast engineering ecosystem and business systems platforms such as Salesforce. In addition to the microservices we own, we also build single-page apps to administer these services. We’re looking for a Senior Software Engineer to join our team to help it grow and further develop these services.
About this roll*
- Implement, monitor, and maintain microservices with guidance from our product manager and product designers
- Lead the technical work of a small team - contribute to the breakdown of work for a project and communicate trade-offs between schedule vs scope vs quality
- Collaborate with the rest of Toast’s R&D and Business Systems and the other Customer Experience Transformation engineering teams to ensure our systems are performant, scalable, resilient and highly available
- Review code to ensure that technical implementation meets functional requirements, as well as our high standards for code quality and testing
- Mentor and guide less experienced engineers
Do you have the right ingredients*?
- Proven track record of technical leadership and collaboration on complex projects
- Hands-on experience building REST-ful microservices in Java, Kotlin, OO languages
- Proficiency with SQL and relational databases
- Passion to solve complex problems and to build great software
Bonus ingredients*
- Familiarity with React or other Web UI technologies
* Bread puns encouraged but not required
Our Tech Stack
Our products run on a stack that ranges from guest and restaurant-facing Android tablets to backend services in Java to internal, guest-facing and restaurant-facing web apps. Our backend services follow a microservice architecture written using Java 8 (or Kotlin) and DropWizard; we use AWS extensively, ranging from S3 to RDS to Lambda. We have our own platform for dealing with user management, service elevations and robust load balancing. We store data in a set of sharded Postgres databases and utilize Apache Spark for large-scale data workloads including query and batch processing. The web frontend is built using React, Angular, and ES6. Our main point of sale application is an Android application written in Java and Kotlin. For communication between tablets and our cloud platform, we utilize RabbitMQ clusters as well as direct API communication to our HTTP backend. For robust asynchronous communication across our platform, we leverage Apache Pulsar.