Systems Software and Drivers Engineer
Careers at Oculus
Part of Facebook
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.)
- 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.
- 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.
- 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.
Meet Some of Facebook's Employees
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.
Back to top