Software Engineer (Tools)

Facebook Reality Labs is dedicated to the research and development required to bring virtual and augmented reality to billions of people around the world. The Pittsburgh lab is focused on making interpersonal, social experience in virtual reality and augmented reality, perceptually indistinguishable from real life, in-person interactions.
You’re a Software Engineer with deep C++ skill. You enjoy building high performance, efficient, robust, and maintainable systems, and are not daunted by ambitious, complex and ambiguous challenges. You're always on the lookout for better, faster, and more impactful solutions. You have a deep understanding of computing at multiple levels of abstraction, from theory, to hardware interfaces to operating systems to user facing application and large-scale distributed systems. You understand contemporary software design and engineering practices. You thrive in a fast-paced, multidisciplinary, research environment.
At Facebook Reality Labs Pittsburgh, you will join a world-class team exploring optics, haptics, tracking, displays, computer vision, user experience, audio, and perceptual psychology. Every day, you will work alongside expert Research Scientists, Mechanical Engineers, Electrical Engineers and Software Engineers to create the technology that will make VR and AR pervasive and universal.
Join the adventure of a lifetime, as we invent the future and change the world.


  • Develop high quality, robust, and reusable, C++ and CUDA software
  • Collaborate with Research Scientists and Software Engineers to develop and optimize computer vision and machine learning processing pipelines
  • Support research initiatives through development of shared libraries and tools
  • Bachelors in Computer Science or a related field
  • 5+ years C++ experience, including Modern C++ features and techniques
  • 3D math experience, including linear algebra
  • 2+ years experience developing machine learning, computer vision, or computer graphics software
  • Experience with software development practices such as source control, code reviews, unit testing, debugging and profiling
  • Proven track record of shipping software
  • Experience with Linux
  • Masters or PhD in Computer Science or a related field
  • Experience with ML Frameworks such as PyTorch, Caffe2, or TensorFlow
  • Experience with High Performance Computing
  • Experience with OpenMP, MPI, Hadoop
  • Experience with OpenCV, Eigen
  • Experience with Python
  • Experience with MATLAB
  • Experience with Robotics

Back to top