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++ expert with deep knowledge of computer vision tracking technologies, a love for solving novel problems from first principles, and an aptitude for sensor fusion, you'll thrive in our collaborative environment. Join a world-class team of pioneers experimenting with breakthrough technology. There are opportunities to work on simulations, algorithms, custom sensing technology, machine learning, computer vision, optimization, digital signal processing, demos, user experiences and more. 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.Research Engineer Responsibilities
Analyze, evaluate, design, develop, integrate, debug, test and ship real-time AR/VR tracking systems for new user experiences, prototypes, and products
Create and implement novel real-time tracking algorithms for new sensors, integrate with existing tracking systems, implement real-time and offline telemetry, implement capture/playback systems, and implement synthetic data generation systems
Collaborate in a team environment across multiple scientific and engineering disciplines, making the architectural trade-offs required to rapidly deliver software solutions
Develop software for a variety of consumer devices, including novel sensing systems, tracking systems, mapping systems, imaging systems and haptic devices
Write clean 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
Minimum Qualifications
BS degree in Computer Science, Computer Vision, Image Processing, Control & Estimation or related field
5+ years C/C++ experience, including knowledge with C++11 (and up) features and principles
5+ years experience creating software for games, autonomous vehicles, robotics
3+ years experience with sensor input, Bayesian estimation, computer vision, and machine learning
Experience shipping one or more products using standard software development toolsets such as source control and continuous integration systems
Preferred Qualifications
Experience with sensor fusion
Experience with 3D math and linear algebra
Experience with 3D graphics
Experience with Game engines such as Unreal and Unity
Experience with MATLAB
Experience with Robotics
Experience with Advanced mathematics
Experience with Software optimization, including the use of SIMD instruction sets to improve performance
LocationsAbout the Facebook company Facebook's mission is to give people the power to build community and bring the world closer together. Through our family of apps and services, we're building a different kind of company that connects billions of people around the world, gives them ways to share what matters most to them, and helps bring people closer together. Whether we're creating new products or helping a small business expand its reach, people at Facebook are builders at heart. Our global teams are constantly iterating, solving problems, and working together to empower people around the world to build community and connect in meaningful ways. Together, we can help people build stronger communities — we're just getting started. 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 accommodations-ext@fb.com.