Software Engineer, Backend, Level 5
Role details
Job location
Tech stack
Job description
- 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
- You evaluate, appropriately test, and debug your work, striving for high quality
- Advocate for and apply best practices when it comes to availability, scalability, operational excellence, and cost management
- Utilize AI tools and high velocity engineering workflows to design and ship scalable services while upholding rigorous standards for code correctness, security, and production ready quality code
Requirements
- 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
- 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
- You can independently execute on medium sized features, taking a few weeks and multiple PRs to complete
- You understand the operational aspects of your system and may participate in incident or hotfix investigation and resolution
- Ability to collaborate and work well with others
- Proficiency in, or a strong aptitude for, leveraging AI tools to streamline development, paired with the critical judgment to audit generated output for architectural integrity, performance bottlenecks, and security risks.
- Adaptability in learning and applying evolving AI systems and tools to remain at the forefront of engineering trends and modern development practices, * Bachelor's Degree in a relevant technical field such as computer science or equivalent years of practical work experience
- 6+ years of post-Bachelor's software development experience; or Master's degree in a technical field + 5+ year of post-grad software development experience; or PhD in a relevant technical field + 2+ years of post-grad software development experience
- Experience with distributed systems
Preferred Qualifications
- Experience with Java, C++, and/or Python
- Experience with NoSQL solutions, Memcache/Redis, Kubernetes, or Google/AWS services
Benefits & conditions
In the United States, work locations are assigned a pay zone which determines the salary range for the position. The successful candidate's starting pay will be determined based on job-related skills, experience, qualifications, work location, and market conditions. The starting pay may be negotiable within the salary range for the position. These pay zones may be modified in the future.
Zone A (CA, WA, NYC) (https://careers.snap.com/us-payzones) :
The base salary range for this position is $209,000-$313,000 annually.
Zone B (https://careers.snap.com/us-payzones) :
The base salary range for this position is $199,000-$297,000 annually.
Zone C (https://careers.snap.com/us-payzones) :
The base salary range for this position is $178,000-$266,000 annually.
This position is eligible for equity in the form of RSUs.