Automation Software Engineer

(Menlo Park, CA)

Careers at Oculus

Part of Facebook

As an Automation Software Engineer, you will design and deploy system level and tester level software systems and algorithms used to manufacture Oculus products in volume. You will work with domain experts in computer vision, optics, and research scientists to integrate calibration and testing algorithms into a high volume manufacturing environment. You should be adept at foreseeing potential system level outages, hardware issues and common use scenarios that would cause your software to fail, and design mitigation paths, redundancy, and error handling appropriately. You need to have technical understanding of implementing algorithms using nonlinear optimization, interfacing your software to real world sensors such as cameras, IMUs and motion systems, while gathering multiple streams of data in real time. An ideal candidate will have a passion for virtual reality, and developing software systems and services required to bring new products to market.


  • Design and implement core software features
  • Work with other people and teams to integrate and develop test and calibration algorithms into a production environment
  • Prototype new concepts. Develop concepts into production systems
  • Write software on diverse code bases on windows/linux/embedded platforms
  • Implement network based distributed services. (Knowledge of networking/network stacks, and ability to develop software implementing data exchange over tcp/http/tls working as a distributed system)
  • Implement software optimization techniques to speed bulk data collection, image/data processing, and nonlinear solvers
  • Develop multi thread/multi core applications using primitives and existing frameworks
  • Interface your software with databases and other services to gather metrics
  • Identify required tests and calibrations from a system level design, and implement against these while working with a cross-functional team comprising IT, operations EE, FW and hardware design groups to integrate your requirements into the product and manufacturing system

Minimum Qualifications

  • BS or higher in electrical engineering, computer engineering, or computer science
  • 5+ Years of experience developing software with python/c++ or other languages
  • Experience with encryption standards: AES, TLS, public/private key cryptography
  • Experience applying linear algebra and descent based optimization
  • Experience applying statistics to manufacturing processes
  • Travel: 20% APAC, 10% domestic

Preferred Qualifications

  • Understanding of computer vision, coordinate systems, DSP algorithms, firmware

Meet Some of Facebook's Employees

Peipei Z.

Manager, Global Client Solutions

Peipei helps Facebook’s top clients devise solution-based and results-driven social media strategies. She creates strategic partnerships to help people and brands connect in a more meaningful way.

Cristina T.

Sr. Manager, WhatsApp Customer Support & Localization

Cristina manages the WhatsApp customer experience, translating the application into multiple languages and troubleshooting communication services worldwide.

Back to top