Come invent the future. At Facebook Reality Labs, software development is vital to turbocharging our scientific explorations and generating viable paths to the consumer products people will use for decades to come - products that will literally give people super powers. If you're a C/C++ expert with deep knowledge of real-time systems, a love for solving novel problems from first principles, and an aptitude for graphics or computer vision, you'll thrive in our collaborative environment. Join a world-class team of pioneers experimenting with breakthrough technology. Partner with expert research scientists, mechanical engineers, electrical engineers and other brilliant software minds to build cutting-edge prototypes and create the technology that makes AR/VR universal. Step into the adventure of a lifetime, as we make science fiction real and change the world.
* Analyze, evaluate, design, develop, integrate, debug and test real-time AR and VR software for advanced display prototypes and user experiences
Collaborate in a team environment across multiple scientific and engineering disciplines, making the architectural tradeoffs required to rapidly deliver software solutions
Develop software for a variety of experimental and consumer devices
Write clean readable code, debug complex problems that span systems, prioritize ruthlessly and get things done with a high level of efficiency
Learn constantly, educate others, dive into new areas with unfamiliar technologies, and embrace the ambiguity of AR/VR problem solving
* BS or advanced degree in Computer Science, Computer Vision, Math, Physics or related field
5+ years C/C++ experience, including experience with C++11 (and up) features and principles
5+ years experience creating, extending, integrating and maintaining real-time 3D engine systems such as graphics rendering, audio, physics, networking or animation
2+ years of experience with applied linear algebra and 3D geometry
2+ years of experience in computer vision algorithms such as realtime image segmentation, 3D reconstruction, multi-view geometry, object detection or object tracking
Knowledge of the fundamentals of computer architecture, including CPU data caching, SIMD instruction sets, and compiler code generation
Experience shipping one or more products using standard software development toolsets such as source control and continuous integration systems
* 3D graphics libraries such as DirectX, OpenGL, or Vulkan
Computer vision libraries such as OpenCV
GPGPU programming using CUDA, OpenCL or DirectCompute
Machine learning or deep learning
ML libraries such as PyTorch, TensorFlow or cuDNN
Proficiency with mathematical optimization theory or software solvers such as Ceres
Game engines such as Unreal or Unity
Developing AR/VR applications
Facebook is committed to providing reasonable accommodations for qualified individuals with disabilities and disabled veterans in our job application procedures. If you need assistance or an accommodation due to a disability, you may contact us at email@example.com.
Facebook is an online social networking service.