Lead Software Engineer, Analytics
Why be a Toaster?
“Our analytics team is taking restaurant data analytics to the next level to create new insights for our customers. From scalable sales reporting, to correlation-based analytics, to machine learning and prediction... Big Data analytics starts here.” - Martin K., Sr. Principal Software Engineer
Toast is a rapidly growing startup building the first all-in-one restaurant management software platform. Toast’s Android tablet based system helps restaurants operate more efficiently and connect with their customer base in new and innovative ways. For example, our portable tablets allow waitstaff to enter orders directly to the kitchen, reducing guest wait time and allowing the restaurant to turn over tables faster. If you’re a passionate software engineer looking to grow professionally and make an impact, join us!
Toast is 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 need a talented lead engineer on our Analytics team to help build and maintain the highest quality product as our vision moves forward.
Our analytics team is building a scalable data platform that uses the data a restaurant streams through our system to help the restaurant operators save money, optimize service, and offer guests a better experience. With years of data about the restaurant available for quick access in our Spark-based platform, and today’s machine learning techniques, the sky’s the limit!
Some projects we’ve been working on recently include:
- Optimizing data pipelines to get new data into our Spark cluster as quickly as possible
- Overhauling reporting workloads to use the new Spark cluster, including introducing new reporting features that couldn’t be accomplished without the power of the new platform
- Introducing tiered storage for our analytics platform so we can manage cost at large scale
- Prototyping ML-based analytic approaches for predicting sales, optimizing menus, and providing user recommendations
As a lead software engineer on the Analytics team, 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
- Participating in code reviews to ensure technical implementations meet functional requirements and mentoring other team members
If you’re someone that is:
- A strong Java developer
- Capable of delivering high quality, reliable services to production
- Passionate about building great software
- A lifelong learner and has the ability to get themselves unblocked
- Skilled with cross-team communication on complex technical topics
- Experienced as tech lead or team lead
Bonus Points (but not necessary):
- Distributed systems experience
- Spark experience
- Experience seeing analytic projects progress from concept to production
If this sounds like something you want to be a part of and grow your career with, we want to talk to you!
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