Facebook Systems Software and Drivers Engineer in 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.)
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.
Equal Opportunity: As part of our dedication to the diversity of our workforce, Facebook is committed to Equal Employment Opportunity without regard for race, color, national origin, ethnicity, gender, protected veteran status, disability, sexual orientation, gender identity, or religion. We are also committed to providing reasonable accommodations for qualified individuals with disabilities and disabled veterans in our job application procedures. If you need assistance or an accommodation due to a disability, you may contact us at firstname.lastname@example.org or you may call us at 1+650-308-7837.