Software Engineer - Graphics
Facebook's mission is to give people the power to build community and bring the world closer together. Through our family of apps and services, we're building a different kind of company that connects billions of people around the world, gives them ways to share what matters most to them, and helps bring people closer together. Whether we're creating new products or helping a small business expand its reach, people at Facebook are builders at heart. Our global teams are constantly iterating, solving problems, and working together to empower people around the world to build community and connect in meaningful ways. Together, we can help people build stronger communities â€" we're just getting started.
Come invent the future. On our Reality Platform Team, graphics software development is vital to turbocharging our scientific explorations and generating viable paths to the consumer products people will use for decades to come â€" products that will literally give people super powers.
If you're a graphics expert with deep knowledge of GPU architecture, a love for solving novel problems from first principles, and an aptitude for optimization, you'll thrive in our collaborative environment.
Join a world-class team of pioneers experimenting with breakthrough technology. There are opportunities to work on graphics across many areas, including operating systems, drivers, firmware, simulations, algorithms, machine learning, computer vision, remote streaming, optimization, optics, displays, tracking, mapping, machine perception, demos, gameplay, user experiences and more. Partner with expert research scientists, mechanical engineers, electrical engineers and other brilliant software minds to build cutting-edge prototypes and create the technology that makes AR/VR universal.
- Develop and optimize novel rendering algorithms and software to efficiently drive advanced prototypes
- Prioritize ruthlessly and get things done with a high level of efficiency
- Collaborate in a team environment across multiple scientific and engineering disciplines, making the architectural tradeoffs required to rapidly deliver software solutions
- Learn constantly, educate others, dive into new areas with unfamiliar technologies, and embrace the ambiguity of AR/VR problem solving
- BS degree in Computer Science or related field
- 5+ years C++ experience
- 5+ years experience creating software for games or real-time systems
- Working knowledge of 3D math and linear algebra
- Knowledge of GPU architecture, SIMD instruction sets, caches, code generation, and profiling
- Experience with one or more low-level graphics frameworks, such as Direct3D, OpenGL, Mantle, Metal, or Vulkan
- Proven track record of software development, including shipping one or more products of using standard software development toolsets such as source control and continuous integration systems
- Experience communicating and working across disciplines to drive solutions
- Experience in real-time ray tracing
- Advanced mathematics experience
- Experience in computer vision and machine learning
- Experience in compression and streaming
- Experience in game engines such as Unreal
- Experience in embedded and low-power environments (mobile SoCs, DSPs, etc.)
- Experience in hardware simulation and bring-up
Back to top