Software Engineer Co-op at 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.
Toast is looking for self-motivated individuals who love building great software and want to have fun while doing it. We work extensively with Android, iOS, and web front ends, where we work hard to provide a well-designed user interface for our customers. Our infrastructure runs in Amazon Web Services where we run Java microservices in Docker containers; our customers rely on us to keep this infrastructure fast and stable so that their point-of-sale system "just works", despite being a complex distributed system. We need talented engineers to build and maintain the highest quality product as our vision moves forward.
What you will do:
- Work on a small team of 3-6 engineers, responsible for entire modules of the Toast product
- Build, and maintain high performance, flexible, and highly scalable web and mobile applications
- Participate in designing, estimating effort, implementing, testing, debugging, configuring, integrating and documenting database, middle-tier and front-end code
- Diagnose performance bottlenecks and implement optimizations
- Think in terms of the end-user and design accordingly
- Actively contribute to product design and feature selection discussions
- Participate in code reviews to ensure technical implementations meet functional requirements
Do you have the right ingredients*? (Requirements)
- Currently enrolled in an academic program
- Deep Java development experience
- Mobile software development experience, preferably with Android
- Well-versed in tiered web application architecture and databases
*Bread puns encouraged but not required
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. The main Toast POS application is an Android application written in Java and Kotlin. 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 moving towards React and ES6. For data between tablets and our cloud platform we operate RabbitMQ clusters as well as direct tablet communication to the back end.