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.
We are looking for a self-motivated individual who loves building great software. From our core application built on top of Android, to a Java microservice architecture on the back end, we focus on providing the infrastructure stability necessary, so that our complex distributed system "just works" while maintaining a well-designed user interface. We're looking for a team lead to join our Platform group to push our technical vision forward at the same pace as we grow our business!
Toast's Platform group is a set of software engineering teams that design and build the infrastructure that allows our product and business to scale. Our Platform teams are focused on our microservices architecture, database scalability, efficient syncing of data between Toast tablets and the cloud, and our large-scale analytics platform. Platform projects typically involve challenging technical problems like managing concurrency, designing for performance and scalability, and building robust distributed systems.
Some projects we've been working on recently include:
Adding Spark streaming capabilities to our reporting and analytics platform
Redesigning the authentication scheme our tablets use to auth to our services for improved security and maintainability
Introducing Amazon Kinesis streams to our backend architecture for robust delivery of messages
Evolving our request routing to minimize customer impact in event of a system failure
Redesigning our patented tablet/cloud data synchronization architecture using event sourcing concepts
As a team lead in the Platform group you will be:
Working with our CTO, Chief Architect, and Platform PMs to define and scope high-impact platform improvements
Leading a team of 2-4 software engineers to deliver results at a high level of quality
Making hands-on code contributions to your team's projects
Defining monitoring, deployment, and elevation strategies for your team's production services
Mentoring and developing team members
Do you have the right ingredients?
Proficient in Java or other object oriented languages
Proficient with traditional databases and alternative data stores
Experience delivering high quality, reliable services to production
Excellent cross-team communication skills on complex technical topics
Experience as tech lead or team lead
Empathy for users, both internal (other Toast teams) and external (our restaurants)
Passionate about building great software
Prior experience with distributed systems, microservices and capacity planning is a plus
Preferred experience with load testing, performance testing, failure mode testing techniques
Spark and machine learning experience also a plus
Our Tech Stack
Toast's 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 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. Toast stores data in a set of sharded Postgres databases and utilizes Apache Spark for large scale data workloads including query and batch processing. The front-end is built primarily using Angular and ES6. The main Toast POS application is an Android application written in Java and Kotlin. For data between tablets and our cloud platform we operate RabbitMQ clusters as well as direct tablet communication to the back end