Principal Software Engineer, Team Lead

Toast

Now, more than ever, the Toast team is committed to our customers. We’re taking steps to help restaurants navigate these unprecedented times with technology, resources, and community. Our focus is on building the restaurant platform that helps restaurants adapt, take control, and get back to what they do best: building the businesses they love. And because our technology is purpose-built for restaurants, by restaurant people, restaurants can trust that we’ll deliver on their needs for today while investing in experiences that will power their restaurant of the future.

Are you ready for a change?

Toast is looking for a Principal Software Engineer and Team Lead to take responsibility for building new, innovative solutions to expand our Guest-facing capabilities. As well as providing a cutting edge point of sale system for restaurants, Toast processes billions of dollars of payments through consumer experiences that guests use directly. As we build new solutions to meet the needs of our customers and their guests, we are building systems that are increasingly extensible, robust, scalable, and deliverable continuously. We need your help to improve our platform and add the next generation of products, and with a massive shift from in-restaurant dining to digital ordering, you will have the opportunity to make an impact immediately.

About this roll* (Responsibilities)

  • Help lead our team through the creation of our next generation digital ordering architecture
  • Hands-on contributions in designing, building, reviewing, testing, debugging, configuring, integrating, documenting, and maintaining – high performance, flexible, and highly scalable services and integration pipelines that make up our digital ordering platform
  • Collaborate with UX, PM, QA and Engineering to build best-in-class solutions in a complex and fast-moving environment
  • Champion best practices for development, deployment and quality life-cycles
  • Guide the growth & development of engineers with mentoring, training and performance management

Do you have the right ingredients? (Requirements)

  • Experience delivering high quality, reliable services to production using Java, Kotlin or other object oriented language(s)
  • Experience writing Javascript in frameworks such as React, Vue, or Angular
  • Proficient in Software Development best practices (Code Quality, UnitTest, BDD)
  • Experience leading a team in the Agile/Scrum methodology
  • Experience building & leading engineering teams and guiding career paths
  • Experience with payment processing platforms a bonus

Our Tech Stack

Our 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 and Kotlin on DropWizard; we use AWS extensively, ranging from S3 to RDS to DynamoDB to Lambda. We have our own platform for dealing with service elevations and robust load balancing. We store data in PostgreSQL databases or DynamoDB tables depending on use case, and utilize Apache Spark for large scale data workloads including query and batch processing. The web frontend is built using React and ES6. Our restaurant point of sale application is an Android application written in Java and Kotlin. Apache Pulsar and Camel are used extensively in our integration transaction workflow processing.