Senior Software Engineer (Frontend)
Senior Front End Engineer: Email Marketing
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.
The Guest team builds the tools our customers rely on to run loyalty programs, sell gift cards, gather feedback from their guests and run engaging email campaigns. We are keen to add a Senior Frontend Engineer who will relish working on multiple impactful products, share creative ideas on how we can deliver high quality value to our clients. This is a great opportunity for an experienced engineer to take full ownership of initiatives starting from planning down to deployment and release phase, and of course celebrate success together with the team and customer. As a Senior Front End Engineer you would be responsible for building React SPA's, deploying and releasing features on demand, also mentoring less experienced engineers and sharing knowledge at inhouse Front End guild. Toast also provides a lot of resources for self development and encourages individual career growth.
Some projects we’ve worked on recently include:
- Integrating a distributed network of services to provide guests the ability to use their loyalty rewards in our Online Ordering platform.
- Creating a brand new system for gathering guest feedback to give our customers intelligent insights on where they can improve to succeed.
- Creating React web pages to allow guests to better communicate with the restaurant.
- Creating an Email Marketing product from the ground up.
- Improving resiliency and data consistency in a highly distributed asynchronous system
About this roll* (Responsibilities)
- Be part of a team working collaboratively with UX, PM, QA and other engineers building products to help restaurants communicate with and retain their guests.
- Lead the technical design and delivery of front end projects
- Work with product and design to validate feasibility of upcoming features
- Championing best practices such as quality integration and unit testing
- Participating in code reviews to ensure implementations meet requirements
- Mentoring other team members
Do you have the right ingredients?
- 5+ years experience developing software applications
- Proficient in modern web standards and technologies (e.g. React, GraphQL, Tailwind, single-spa), and can apply them to build fully responsive web pages
- Enjoys solving customer problems through technology
- Experience working in a team with Agile/Scrum methodology
Some of things we would be really excited to see
- Experience in CRM, loyalty or email marketing space
- Experience implementing GDPR or similar
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 & Kotlin and 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 main 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. For communication between tablets and our cloud platform, we utilize RabbitMQ clusters as well as direct API communication to our HTTP backend.
*Bread puns encouraged but not required