Senior Software Engineer, Java & Spark
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, consumer-facing experiences, 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.
Toast is looking for an experienced senior engineer who can help us grow and scale our consumer data platform. You will be working on software that millions of diners use to order food at thousands of restaurants across the country. We need talented engineers build the infrastructure that will help Toast and our restaurants create amazing consumer experiences through deep data insights.
As a senior software engineer on the Consumer Data team, you will be:
- Designing, building, and refining scalable, high-throughput cloud data infrastructure
- Creating and implementing user targeting and feature based recommendation systems
- Contributing to the data flow architecture and integrating it into a variety of functional areas of the Toast app
- Instrumenting code to provide visibility into systems’ end-to-end performance and correctness
- Collaborating with product management and other platform and functional teams to deliver the best experience to Toast customers
Do you have the right ingredients?
- Experience with machine learning and frameworks such as Apache Spark
- Proficiency in Java, Scala, or Kotlin
- Internal and external APIs design
- A passion for learning, and building things that haven’t been built before
- SaaS backend experience: microservices, and databases (relational or noSQL) and/or exposure to distributed computing is 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, with newer components using React. 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.