Principal Software Engineer, Android at Toast
“I work here because Toast gives us the opportunity to live on the cutting edge of the Android ecosystem. I get to push the boundaries of Android performance in both hardware and software. At Toast, I work on creative solutions to difficult challenges that most other Android apps will never face.” -Frank M., Staff Software Engineer
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 Principal Software Engineer with Android experience to play a critical role for our core teams. These teams build our most heavily used features - to take orders for our restaurant customers and to manage the complex workflows during restaurant service. We utilize technology to help our restaurants be more efficient while consistently offering their customers the best dining experience possible. We need your help to build Android solutions that will scale to millions of concurrent diners and hundreds of thousands of restaurants.
Some projects we’ve been working on recently include:
- Server features including allowing them to bulk administer checks to another server at the end of their shift
- Refactoring to enable faster development, better testability, reliability and usability
- Optimizing performance of the user interface and creating performance dashboards and benchmarks
- Re-designing complex ordering workflows based off an event-sourced architecture
As an Android Principal Software Engineer for the core teams, you will be:
- Hands on with Android while crafting, building and maintaining high performance mobile apps
- Designing highly resilient, flexible & scalable enterprise applications
- Embedded on the orders workflow team, but owning architecture across the core teams
- Providing mentorship to other senior engineers
Do you have the right ingredients?
- Proficient in Java and/or Kotlin
- Expert in the Android ecosystem
- Experience with a large scale enterprise organization
- Passionate about building great software
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.