Senior Software Engineer
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’ll 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’ll 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’ll 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
Minimum qualifications:
Bachelor’s degree in a technical field such as computer science or equivalent experience
5+ years of software development experience
Experience with backend services and distributed systems
Preferred qualifications:
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
Security
Networking and data storage
Machine learning and natural language processing
Tools
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 protected].