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 optimization, you'll thrive in our collaborative environment.
We have strong ambitions and a grand vision: to ride the wave of the AR/VR computing paradigm shift to revolutionize how people interact with computation devices. We are building an advanced next-generation user interaction platform which can utilize novel input and output devices, effectively handle multimodal input and output, operate seamlessly across multiple computation devices, support hands free and other non-encumbering operational modes, optimize notifications and information display to be minimally intrusive, leveraging environmental and situational awareness as well as user context awareness. We're just getting started. Come help us make this dream a reality!
* Help design and build a next generation user interaction software platform for AR/VR
Work closely with researchers to help define productive research areas and integrate research results to improve overall user experience
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 degree in Computer Science, Math, Physics or related field
5+ years C/C++ experience, including knowledge with C++11 (and up) features and principles
5+ years experience creating software for system services, games, or other environments
2+ years experience designing and delivering software APIs and frameworks
2+ years of experience with Linear algebra and 3D geometry skillset
Knowledge of the fundamentals of computer architecture, including aspects such as CPU data caching, SIMD instruction sets, and compiler code generation
Experience shipping one or more products using software development toolsets such as source control and continuous integration systems
Knowledge with mathematical optimization theory or software solvers such as Ceres
* Probability mathematics and software modeling of uncertainty experience
Experience working across disciplines to drive optimal solutions
Experience with Machine learning
Experience with Natural language processing
Experience with constraint programming and constraint solving algorithms
Experience with UI application and UI development frameworks
Experience with Input device frameworks
Experience with 3D graphics engines and graphics frameworks such as Unreal Engine
Experience with Digital signal processing
Experience with audio engines such as WWise or FMOD
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 firstname.lastname@example.org.
Facebook is an online social networking service.