Graphics System Engineer
Join Facebook Reality Labs (FRL) in the design of virtual and augmented reality systems. Come work alongside expert software engineers and research scientists to create the technology that makes 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 Graphics System Engineer with strong design and build skills, passion for low-level systems software, and hands-on experience working on game engines, GPU drivers, 3D graphics runtimes such as D3D/OpenGL/Vulkan/Metal, 2D runtimes such as Skia/D2D/OpenVG, and experience with shipping hardware/software products. You are the kind of engineer who has expertise creating reliable, robust, and performant graphics systems software at all layers of the stack. You are fluent in multiple areas of computer graphics, whether that be rendering techniques, shader optimization, driver architecture or even GPU architecture. You ask/beg to go to SIGGRAPH every year. If asked, you have the skills to contribute to the design and construction of a replacement for these components. 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 debugging tools, e.g. kernel debuggers, OS event tracing infrastructure, etc.
- Design and implement graphics OS components such as compositors, runtimes and drivers.
- Design graphics components with extreme power constraints and hard tradeoffs in mind.
- 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 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 or C++ code base.
- 5+ years experience working with hardware acceleration platforms (D3D, OpenGL, Vulkan or Metal).
- Demonstrated knowledge of operating systems internals or 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 and dispatchers, TLB management.
- Experience working on multiple kinds of graphics rendering (rasterization, ray tracing).
- Experience with new device bring-up.
- Experience with ARM platforms.
- Experience creating, debugging, and deploying on-device firmware (MCU and/or DSP).
- Experience working with hardware analysis tools such as logic analyzers, protocol analyzers, etc.
Back to top