We are currently seeking an Operating Systems Engineer with strong design and build skills, passion for low-level systems software and device driver programming, hands-on experience working on Operating Systems at all layers from firmware to user applications, and experience with shipping hardware/software products.
You are the kind of engineer who has expertise creating reliable, robust, and performant systems software at all layers of the stack. You are fluent in multiple areas of classic Operating Systems e.g., threading, scheduling, memory management, I/O and device models, security. You have hands-on experience bringing up new hardware and software systems and you have significant experience debugging and repairing complex, multi-component system level issues using a variety of OS and bus level debugging tools, e.g. USB/WiFi/Ethernet protocol analyzers, kernel debuggers, OS event tracing infrastructure, etc.
* Working on low-level Android drivers and systems.
Develop custom Linux kernel drivers and APIs for hardware accelerators and peripherals.
Debug complex, system-level, multi-component issues that typically span across multiple layers from kernel to application.
Profile performance problems and drive optimizations that span the entire software stack.
Bring up new devices and lead debugging and performance tuning exercises.
Understand software components from multiple partner teams, lead the integration of those components into the unified product code base, and drive their continued development.
Devising and implementing low-latency systems.
* 5+ years experience working on systems software in a large-scale C and/or C++ code base.
Demonstrated knowledge of operating systems internals on at least one platform.
Demonstrated knowledge creating 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 experience working collaboratively in cross-functional teams.
* Experience with power management and modern systems architecture.
Experience with specialized kernel functions: synchronization primitives, memory management, schedulers.
Experience working on multiple classes of drivers e.g., bus, block, wireless, display drivers.
Experience bringing up with new device bring-up.
Experience with ARM platforms.
Experience creating, debugging, and deploying on-device firmware (MCU and/or DSP).
Experience building Android devices or working on the Android Open Source Project (AOSP).
Experience programming in Rust.
Facebook is 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 email@example.com.
Facebook is an online social networking service.