Staff Software Engineer, Payment Acceptance
Toast is a rapidly growing startup building the first integrated restaurant management software platform providing an all-in-one system for handling orders, managing the kitchen, and providing analytics on the health of the business. We are one of the fastest growing technology companies in the U.S., and ranked third on Deloitte’s Technology Fast 500™ in November 2017. We move quickly and thus have lots of opportunities for career growth. If you’re passionate about your work and want to be in a fun and growing industry, join us!
The Payments teams at Toast operate one of the most critical portions of the Toast infrastructure: accepting payments from guests at restaurants. Payment processing is a key source of Toast’s revenue and also the lifeblood of our customers;: we process multiple millions of dollars in transactions per day. Our goal is stay on the cutting edge of consumer payment options.
One of our major recent projects has been in adding support for EMV with different card readers to our Android-based point-of-sale system, and ensuring that we pass all necessary certifications to submit payments reliably and securely.
As a staff software engineer at Toast you will:
- Write code that is used for processing hundreds of thousands of payments per day, interfacing with multiple hardware reader platforms
- Work closely with our Android Platform and other Payment teams to ensure seamless integration with our point-of-sale and backend
- Master complex specifications, ranging from payment processing specifications to hardware manuals
- Participate in code reviews to ensure technical implementations meet functional requirements
- Provide design leadership and guidance to the team on how to build systems that solve current needs while being flexible to future changes
- Effectively mentor and guide less experienced engineers
Do you have the right ingredients?
- You value the success of the business and are able to design technical solutions to drive that success
- You have experience working with product teams to plan for solutions that deliver good outcomes to our customer and the company
- You want to remain close to the code and are comfortable making complex changes without breaking (too much) stuff
- You demonstrate humility, empathy and respectfulness
- You act as a force multiplier for teams you work with
- You are able to balance getting things done with making things perfect
- You have a strong understanding of cryptographic primitives and the hands-on experience applying building fault tolerant and secure applications
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 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.