Automation Software Engineer

Infrastructure | Menlo Park, CA

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.

Responsibilities

  • 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


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 accommodations-ext@fb.com or you may call us at +1 650-308-7837.