Senior Software Engineer, Team Lead, Partner Connect
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 leadership role on the team responsible for our Partner Marketplace and API integrations ecosystem. With over 50 partners providing 3rd party integrations, Toast provides a comprehensive suite of functionality for restauranteurs, and the Partner Connect team is responsible for making this seamless for restaurateurs and partners. The team will own code that spans across our stack from our to backend microservices, messaging systems, to frontend management UIs. You will play a role in evolving our architecture to support ever more complex new features, and best-in-class monitoring as we scale to orders of magnitude of our current size!
Some projects the Partner Connect team work on include:
- Infrastructure to authorise tens of millions of API requests per day
- Marketplace to enable our customers to find and connect to partner integrations
- Webhooks & events support to enable our partners receive timely notifications of updates in the Toast system
As an Engineering Team Lead on the Partner Connect team, you will:
- Design solutions collaboratively with your team to deliver on key product features
- Take ownership of existing code and address quality and scale challenges
- Design, write, and review code that will process tens of millions of API requests per day
- Deliver on tech designs working closely with product management in an agile manner
- Ensure that everything under your purview is delivered with quality and is appropriately monitored and supported in production
- Take appropriate steps to grow and develop both yourself and your teammates
- Ultimately ensure that the team is delivering impact and business value
- Guide the growth & development of engineers with mentoring, training and performance management
Do you have the right ingredients?
- Proficient in Java or other object oriented languages
- Proficient with traditional databases and alternative data stores
- Proficient in Software Development best practices (Code Quality, UnitTest, BDD)
- Experience delivering high quality, reliable services to production
- Excellent cross-team communication skills on complex technical topics
- Experience of developing creative and innovative solutions & processes that enhance effectiveness
- Experience of building & leading technology teams and guiding career paths
- Empathy for users, both internal (other Toast teams) and external (our restaurants)
- Passionate about building great software
- Experience with any of the following is a plus: Kotlin, Apache Pulsar, Apache Camel
- Prior experience with distributed systems, enterprise messaging systems, microservices and capacity planning 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 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 React, 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.