Staff Software Engineer, Digital Ordering

Boston, MA, US

Job Description / Skills Required

Toast is driven by building the restaurant platform that helps restaurants adapt, take control, and get back to what they do best: building the businesses they love.  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 Digital Ordering applications process billions of dollars in transactions for our restaurant customers. We’re hiring a Staff Software Engineer to take responsibility for building new, innovative solutions to expand our consumer-facing capabilities. We need your help to improve our platform and add the next generation of products, and with the massive adoption of digital ordering over the past several years, you will have the opportunity to make an impact immediately. 

About this roll* (Responsibilities)

  • Collaborate with our team on 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 and training 

 

Do you have the right ingredients*? (Requirements)

  • Experience delivering high quality, reliable services to production using object oriented languages. 
  • Experience with server side JavaScript with NodeJS
  • Proficient in Software Development best practices (Code Quality, Unit Tests, BDD)
  • Experience working with a team in the Agile/Scrum methodology
  • Understanding of cloud-native application development and deployment.

 

Special Sauce* (Nonessential Skills/Nice to Haves)

  • Experience with payment processing platforms
  • Experience designing and developing GraphQL-based web services
  • Production experience with JVM-based languages, particularly Kotlin and Java.
  • Proficiency with cloud infrastructure and tooling like Terraform or Cloudformation
  • Experience building frontend experiences in frameworks such as React, Vue, or Angular
  • Experience with data modeling and access patterns in DynamoDB

 

Our Spread* of Total Rewards:

  • Flexible paid time off
  • Sabbatical opportunity after five years
  • Professional Development Reimbursement Program
  • Commitment to Employee Wellness through resources such as a quarterly Wellness Stipend
  • Various peer and company recognition programs 
  • 401(k) and matching
  • Medical, Dental, & Vision Coverage
  • Mental Health Benefits
  • Subsidized backup childcare

*We love a great bread/food pun

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; 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.