Careers - Systems Software and Drivers Engineer | Oculus

Systems Software and Drivers Engineer

Research | Redmond, Washington

Oculus is a world leader in the design of virtual and augmented reality systems. Come work alongside expert software engineers and research scientists to create the technology that makes VR and AR pervasive and universal. Join the adventure of a lifetime as we make science fiction real and change the world. We are currently seeking a software engineer with a deep C++ skill, passion for low-level systems software and device driver programming, and experience with shipping hardware/software products. You are the kind of engineer who has expertise writing systems software that sits between applications and devices. You are fluent in threading/scheduling and IO primitives on at least one platform, and you have built large scale multi-threaded software systems with low latency and high reliability requirements - especially for audio/video/graphics/robotics applications. You are able to write high quality systems software and kernel-mode drivers, and are skilled using OS and bus level debugging tools (e.g. USB/Firewire/Ethernet protocol analyzers, kernel debuggers, OS event tracing infrastructure, etc.)

Responsibilities

  • Design and implement systems software and device drivers that control low-latency high-bandwidth devices, and that move large volumes of data between the device and application software stack efficiently.
  • Debug complex threading and timing bugs that span the device, operating system, and software stack.
  • Profile performance problems and drive optimizations that span the device, operating system, and software stack.
  • Bring up new devices and lead debugging and performance tuning exercises that span multiple hardware/firmware/software teams.
  • Understand software components from multiple partner teams, lead the integration of those components into the unified product code base, and drive their continued development.

Minimum Qualification

  • 5+ years experience working on systems software in a large scale C++ code base.
  • Demonstrated knowledge with systems programming on at least one platform.
  • Demonstrated knowledge writing device drivers on at least one platform
  • Experience developing, debugging, and shipping software products on large code bases that span 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

  • 7 or more years of C++ experience.
  • Experience with low-latency, high bandwidth, streaming hardware devices (e.g. video cameras, graphics cards, etc.).
  • Experience with new device bring-up.
  • Experience with Windows, Linux, and Android environments.
  • Experience writing, debugging, and deploying simple on-device firmware (MCU and/or DSP).
  • Experience with hardware and software technology transfer work involving research science, especially in fields such as computer vision, graphics, robotics, and machine learning.

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, or other applicable legally protected characteristics.

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.

Loading…