About the role
As a Senior Software Engineer on this team, you would get to build, innovate, and upscale the next generation of our software solutions, with a global-first mindset, working closely with UX/PM/QA and customers to deliver the most value that fits our customers' market and culture.
Responsibilities:
- Design, build, deploy, and maintain highly resilient and scalable features across Toast's enterprise line of products.
- Lead complex projects that may span multiple teams and systems.
- Collaborate with PM, UX, QA, and other engineers on the development of new features and products.
- Partner with a wide array of teams across Toast.
- Drive high-quality team output and ensure that the team makes solid technical decisions.
- Collaborate with peer engineers, provide design feedback, and participate in code reviews.
- Champion best practices for SDLC and CICD life cycles.
- Ensure quality by building automated tests for changes.
- Roll features out to customers, ensuring successful delivery and operation, including monitoring for success and/or failures.
- Mentor and coach your peer engineers.
Requirements:
- 5+ years of experience building backend services and RESTFUL APIs.
- Proficiency in Object-Oriented Programming Languages such as Java, Kotlin, etc.
- Have a strong understanding and hands-on experience of building fault-tolerant, highly scalable, and secure distributed systems.
- Proficiency with SQL/NOSQL databases, strong understanding of distributed datastores, and knowledge of when to use what.
- Strong foundations in data structures and algorithms.
- Passion for building great software products.
- You demonstrate humility, empathy, and respectfulness.
- Deep understanding of testing, quality, and proficiency in SDLC best practices.
- Proficiency in testing applications and delivering high-quality, reliable apps to production.
- Excellent cross-team communication skills on complex technical topics.
- Experience working with cloud infrastructure (AWS or similar).
- Nice to have: Have knowledge and hands-on experience building Android applications.
What we use to make our dish: (Our Tech Stack):
- Android apps built using Kotlin and Java.
- Backend services that follow a microservice architecture written using Kotlin, Java, and Dropwizard.
- Event-driven messaging and streaming using Apache Pulsar and RabbitMQ.
- Apache Camel for implementing the Enterprise Integration Pattern.
- React- and ES6-based frontend SPAs leveraging Tailwind, GraphQL, and Storybook.
- DynamoDB and Postgres as core persistence data-storage layers.
- Datadog and Sentry for system and application metrics and monitoring.
- Splunk for log aggregation.
- Fire hydrant for alerting.