Software Engineer - C++
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’s three core products are Snapchat , a visual messaging app that enhances your relationships with friends, family, and the world; Lens Studio , an augmented reality platform that powers AR across Snapchat and other services; and its AR glasses, Spectacles . The Spectacles team is home to our hardware products with a world-class research & development team. We are focused on pushing the boundaries of what a camera can be, specifically overlaying computing on the real world. Next Generation Spectacles are our first pair of glasses that bring augmented reality to life. We’re looking for a C++ Software Engineer with a passion for AR to join the Spectacles team at Snap Inc! What you’ll do: In this role, you will be working on client-side solutions that tie together graphics, computer vision, machine learning, and developer tools. Working in London, you’ll be collaborating closely with Snap hardware and software teams around the world, pushing the boundaries of what’s possible in AR. You will:
- Create developer-facing APIs and integrate ground-breaking computer vision and machine learning technologies that enable teams to build envelope-pushing experiences on Spectacles
- Implement and maintain software running on AR glasses in a compute-constrained embedded environment
- Work across teams to understand product requirements, evaluate trade-offs, and deliver the solutions needed to build innovative products
- Evaluate, appropriately test, and debug your work, striving for high quality
- Strong knowledge in C++
- Strong understanding of API design
- Ability to independently execute on medium sized features, taking a few weeks and multiple PRs to complete
- Ability to understand, debug and improve existing code
- Strong communications and interpersonal skills
- Bachelor's Degree in a relevant technical field or equivalent years of experience
- Proficiency in programming C and C++ on Linux-based platforms
- Experience with debuggers, build systems, and version control systems (git)
- Strong background in software development experience
- Experience writing developer facing APIs
- Experience working with high performance embedded systems