Snap Inc. is a camera company. We believe that reinventing the camera represents our greatest opportunity to improve the way people live and communicate. Our products empower people to express themselves, live in the moment, learn about the world, and have fun together.
Snapchat is the camera used by millions of people every day to Snap with family, watch Stories from friends, see events from around the world, and explore expertly curated content from top publishers. In short, we are a passionate team working hard to build the best platform in the world for communication and storytelling.
We’re looking for Backend Engineers to join Team Snapchat! As a member of this team, you will design and implement the next generation of Snap’s multi-cloud architecture. You’ll collaborate across engineering teams to build some of the most scalable, Tier-0 services at Snap such as our user service and friend graph. You will also solve exciting distributed systems problems like incremental state synchronization to build our core storage services, used by almost every product at Snap. Finally, you will help the team deprecate our monolithic architecture and move towards a layered service-oriented architecture.
What you’ll do:
- Design, implement, and operate our most critical and scalable services - ranging from user identity services, friend graph, and our core persistence layer
- Work across teams to understand product requirements, evaluate trade-offs, and deliver the solutions needed to build innovative products
- Help make our team better by contributing to code reviews, documentation, and development process
- Advocate for and apply best practices when it comes to availability, scalability, operational excellence, and cost management
- Effectively mentor junior team members
- BS/BA in a technical field such as Computer Science or equivalent experience
- 3+ years of software development experience
- Experience with backend services or distributed systems
- Experience in at least one of the following areas:
- Large-scale microservices and distributed systems
- Cloud computing and storage systems
- Infrastructure and large-scale system design
- Networking and data storage
- Machine learning and natural language processing
- Proven track record of operating highly-available systems at significant scale
- Experience with Java, C++, and/or Python
- Experience with NoSQL solutions, Memcache/Redis, Kubernetes, or Google/AWS services
- Ability to collaborate and work well with others
At Snap, we believe that having a team of diverse backgrounds and voices working together will enable us to create innovative products that improve the way people live and communicate. Snap is proud to be an equal opportunity employer, and committed to providing employment opportunities regardless of race, religious creed, color, national origin, ancestry, physical disability, mental disability, medical condition, genetic information, marital status, sex, gender, gender identity, gender expression, pregnancy, childbirth and breastfeeding, age, sexual orientation, military or veteran status, or any other protected classification, in accordance with applicable federal, state, and local laws. If you have a disability or special need that requires accommodation, please don’t be shy and contact us at email@example.com.