Senior Software Engineer - Full-Stack Android
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.
Toast is looking for a Senior Software Engineer to play a significant role on our Kitchen Operations team. This team is at the core of Toast - they’re responsible for ensuring orders are processed quickly, accurately and in a timely manner. We utilize technology to help our restaurants be more efficient and productive while consistently offering their customers the best dining experience. This means that our technology has to work seamlessly, even as our platform scales to thousands of concurrent diners or hundreds of thousands of restaurants.
We need your help to unlock the full potential of Android and explore the next generation of restaurant technology.
Some projects we’ve been working on recently include:
- Re-architecting data models that track kitchen tickets to address issues syncing data between the tablets and our backend servers
- Instrumenting and stress-testing our Kitchen Display Screen to set internal benchmarks for performance
- Optimizing kitchen workflows by routing complex menu items and printed tickets, based on prep times, to their respective kitchen prep stations (i.e. making sure all of your entree items are timed correctly in the kitchen, so your food arrives at the right temperature)
As a Senior Software Engineer on the kitchen operations team, you will be:
- Crafting, building and maintaining high performance, flexible and scalable mobile apps
- Thinking in terms of our end-users; servers, chefs, short order cooks and food runners
- Diagnosing performance bottlenecks and implementing optimizations
- Actively contributing to product design and feature selection discussions
- Participating in code reviews to ensure implementations meet requirements
- Championing best practices such as quality test automation and automate a release pipeline
- Building API’s and web-services
- Mentoring other team members
Do you have the right ingredients?
- Proficient in Java and/or Kotlin
- Well-versed in the android ecosystem
- Previous experience with building back-end microservices and APIs
- Passionate about building great software
- An interest and commitment to continuous learning
- Known for having a get unblocked attitude
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 web 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.