Staff Software Engineer, Scale
We are a rapidly growing company that’s revolutionizing the way the restaurant industry does business by pairing technology with an extraordinary 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 craft the future of the company. Join us as we empower the restaurant community to delight guests, do what they love, and thrive.
We looking for a Senior Software Engineer to play a critical role on the team responsible for scaling our cloud platform and infrastructure. Toast’s platform processes tens of millions of requests per day, and this number grows constantly as we add new restaurants to the platform. We are responsible for developing the core services which support Toast’s growth and maintain high availability, monitor-ability, and security. We are the core of Toast as a rapid-growth company. We are looking for someone who has a knack for identifying and solving problems before others are even aware, writing well-tested code, and designing for reliability as we find and build the most scalable solutions in the industry. As part of the Scale team, you will be challenged to scale Toast's architecture to keep pace with our growing business.
Some projects we’ve been working on recently include:
- Horizontal database scaling through sharding
- Federated authentication and authorization
- Postgres monitoring and optimization
- Microservice service discovery and routing
As a senior software engineer on the Scale 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
- Thinking in terms of the end-user and designing accordingly
- Evaluating and implementing best technology options
- Actively contributing to product design and feature selection discussions
- Mentoring other team members
Do you have the right ingredients?
- Proficient in Java or other object oriented languages
- Well-versed in tiered web application architecture and databases
- Passionate about building great software
- A lifelong learner
- Known for having a get unblocked attitude
- Android experience, microservices knowledge and prior SaaS product experience are all 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.