Snapchat

Principal Software Engineer, Machine Learning Infrastructure

Palo Alto CaliforniaFull timeStaff$276,000 - $414,000 / yearPosted 3 days ago
Apply on Snapchat →

Sign in to see who you know at Snapchat.

Snap Inc is a technology company. We believe the camera presents the greatest opportunity to improve the way people live and communicate. Snap contributes to human progress by empowering people to express themselves, live in the moment, learn about the world, and have fun together.The Company operates Snapchat, a visual messaging app that enhances your relationships with friends, family, and the world, and Specs Inc., a wholly-owned subsidiary dedicated to making computing more human, in addition to Bitmoji, Saturn, and other digital services.Snap Engineering teams build fun and technically sophisticated products that reach hundreds of millions of Snapchatters around the world, every day. We’re deeply committed to the well-being of everyone in our global community, which is why our values are at the root of everything we do. We move fast, with precision, and always execute with privacy at the forefront.We’re looking for a Principal Software Engineer to join Snap’s ML Inference team!What you’ll do:Oversee technical strategy and architecture in ML Inference Platform servicesDesign, implement, and scale critical engineering components and services to support ML inference and deploymentWork across teams to understand product requirements, evaluate trade-offs, and deliver the solutions needed to build innovative products or servicesAdvocate for and apply best practices when it comes to availability, scalability, operational excellence, and cost managementProvide technical direction that influences the entire companyKnowledge, Skills & AbilitiesExcellent programming and software design skills, including debugging, performance analysis, and test designProven track record of operating highly-available systems at scaleAbility to proactively learn new concepts and technology and apply them at workSkilled at solving ambiguous problemsStrong collaboration and mentorship skillsMinimum Qualifications:Bachelors in technical field such as computer science, mathematics, statistics or equivalent years of experience10+ years of post-Bachelor’s software development experience; or a Master’s degree in a technical field + 9+ year of post-grad software development experience; or a PhD in a related technical field + 6+ years of post-grad software development experience2+ years of experience with technical leadership or acting as the domain-expert to a technical organizationExperience in technical leadership/ownership and setting technical direction for engineering projectsExperience architecting, designing, and developing large scale distributed systems and high-throughput RPC servicesPreferred Qualifications:Advanced degree in a technical field such as computer scienceExperience with cross platform developmentAbility to promote product excellence and collaboration, driving a portfolio of concurrent engineering projects, from short-term critical feature launches to long-term research initiatives.Ability to create a compelling vision for the future, communicate cl...