Software Engineer

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 architecture, a love for solving novel problems from first principles, and an aptitude for optimization, you'll thrive in our collaborative environment.
Join a world-class team of pioneers experimenting with breakthrough technology. There are opportunities to work on operating systems, drivers, firmware, simulations, algorithms, databases, digital signal processing, machine learning, computer vision, networking, optimization, optics, graphics, audio, physics, displays, haptics, tracking, mapping, machine perception, demos, gameplay, 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.

RESPONSIBILITIES

  • Analyze, evaluate, design, develop, integrate, debug and test real-time AR and VR software for advanced 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 consumer devices, including novel sensing systems, tracking systems, mapping systems, imaging systems and haptic 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
MINIMUM QUALIFICATIONS
  • BS degree in Computer Science or related field
  • 5+ years C++ experience, including modern C++ features and principles
  • 5+ years experience creating software for games or real-time systems or high performance computing
  • Knowledge of the fundamentals of computer architecture, including CPU data caching, SIMD instruction sets, and compiler code generation
  • Proven track record of software development, including shipping one or more products using standard software development toolsets such as source control and continuous integration systems
  • Problem solving and optimization experience
  • Communication experience and demonstrated experience working across disciplines in driving solutions
PREFERRED QUALIFICATIONS
  • Experience in 3D math and linear algebra
  • Experience in 3D graphics
  • Experience in game engines such as Unreal
  • Experience in sensor fusion
  • Experience in MATLAB
  • Experience in robotics
  • Advanced mathematics experience


Back to top