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.
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.
Based out of our Sydney office, the Calling team creates rich visual experiences in real-time like presence, audio & video calling, and shared AR. As a member of this team, you will design and implement the next generation of Snap’s real-time communication systems. You’ll collaborate across engineering teams to build product features used by millions of users around the world everyday and be solving challenging technical problems to make sure that our live streaming infrastructure can scale while keeping latencies very low.
What you’ll do
- Design and implement cross-platform client infrastructure and frameworks using C++
- Partner with key product owners, customers, and Engineering leadership to identify correct priorities of development
- Support features at every phase, from design through implementation and launch
- Evaluate technical tradeoffs of every decision and collaborate with other engineers on the best development practices
Knowledge, Skills and Abilities
- Familiarity with modern C++ (C++17 / C++20)
- Strong CS fundamentals (algorithms and data structures) and problem-solving skills
Minimum Qualifications
- BS/BA in a technical field such as Computer Science or equivalent experience
- 3+ years of experience working with systems implemented in modern C++, client or server
Bonus
- Experience with WebRTC
- Experience with audio/video processing
- Experience with multithreading and performance optimization
- Experience with C++ build systems and toolchains
- Knowledge of networking, OS internals, compilers, optimization for low-power and mobile systems
- Experience with Rust