Machine Learning and Computer Vision Performance Engineer

Software Engineering | Menlo Park, CA

The Oculus team at Facebook builds the VR hardware and platform to let you experience anything, anywhere, with anyone. Additionally, Facebook has teams dedicated to building social experiences in VR that make it easier to spend time with your friends, wherever they are. Virtual reality’s potential to connect the world is immense—and we’re just getting started. Oculus Core Tech is driving the state of the art forward with breakthrough work in computer vision, machine learning, mixed reality, advanced display and optics, and new ways to map the human body. Oculus is seeking a talented Software Engineer to join our Performance and Optimization team as part of Oculus Core Tech team. We're addressing a variety of technical challenges in the areas of real-time image processing, SLAM, Mixed reality, Depth sensing and Human Understanding. We're looking for candidates with deep C++ / SIMD knowledge who share a passion for building highly performant software for new hardware devices.


  • Analyze and understand Machine Learning and Computer Vision software components from multiple algorithm teams, lead the integration of those components into the unified product code base, and drive their continued development.
  • Apply expert software development skills to a wide range of Machine Learning and Computer Vision-related coding projects.
  • Profile and optimize the performance of complex Machine Learning and Computer Vision systems
  • Develop optimized software to run on variety of platforms and environments including mobile and laptops

Minimum Qualifications

  • M.S. or Ph.D in Computer Science and 3+ years of relevant work experience in C++.
  • Experience optimizing Machine Learning or Computer Vision software algorithms with hardware acceleration techniques.
  • Familiarity with vectorization techniques on at least one platform (e.g. SSE, NEON, etc.).
  • Familiarity with at least one scientific computation package (e.g. Eigen, Linear algebra libs, etc.).
  • Experience developing, debugging, and shipping software products on large code bases of platforms and tools.
  • Experience with Software Development processes including: source control, bug tracking, and design documentation.
  • Demonstrated ability working collaboratively in cross-functional teams.

Preferred Qualifications

  • 3+ years of experience in applying machine learning techniques to computer vision problems.
  • Experience developing on at least one ARM-based mobile/embedded platform.
  • Experience porting Machine Learning and Computer Vision algorithms to new hardware/software platforms.
  • Experience with C++11 / C++14 features and principles.
  • Experience with DSP or GPGPU techniques (e.g. Cuda, Hexagon SDK, etc.).
  • Experience with scripting languages such as Python

Ready to Join?

Apply Now

Oculus is proud to be an Equal Opportunity and Affirmative Action employer. We do not discriminate based upon race, religion, color, national origin, sex (including pregnancy, childbirth, or related medical conditions), sexual orientation, gender, gender identity, gender expression, transgender status, sexual stereotypes, age, status as a protected veteran, status as an individual with a disability, genetic information, or other applicable legally protected characteristics. We also consider qualified applicants with criminal histories, consistent with applicable federal, state and local law.

If you need assistance or an accommodation due to a disability, you may contact us at or you may call us at +1 650-308-7837.