Software Lead, Concept Engineering
(Menlo Park, CA)
Careers at Oculus
Part of Facebook
At Oculus, we're developing the future of augmented (AR), virtual (VR) and mixed reality (MR).
The Concept Engineering team actively participates in concept development and design ideation of cutting edge technologies. The team is responsible for rapidly building and iterating polished high-fidelity prototypes and development platforms that bring new ideas to life by expressing design intent and user experience - using the best and most appropriate tools and techniques for the task. While we want these prototypes to be optimized for speed, the hardware and software should be designed with the ultimate goal of mass production. These prototypes and development platforms will be used to prove concepts through establishing end user value to development teams and senior leadership; additionally, they would be used in testing and data collection in support of technology and algorithm development.
You will provide technical leadership and lead software architecture in designing new VR, MR and AR concepts and technologies. We are looking for candidates with broad interests who thrive in a dynamic, fast-paced start-up like environment and enjoy working at all levels of the software stack, from device drivers to operating systems, core libraries to user interfaces. You'll be building cutting edge prototypes that explore the future of VR and AR and you will work alongside Mechanical Engineers, Electrical Engineers, Computer Vision Scientists and Software Engineers to bring these concepts and technologies to life.
- Design, implement, and debug C++ software, in embedded, real time systems, for a variety of hardware devices
- Profile and optimize the performance of complex real time hardware/software systems, on both desktop and mobile platforms.
- Collaborating in a team environment across engineering disciplines
- Work closely with various core tech teams and other organizations to define prototyping scope and applications towards various technology roadmaps and products
- Recruit world-class talent and provide mentorship to team members
- MS CS/EE or related field with 7+ years of experience or BS CS/EE or related field with 10+ years of experience in consumer product development using one or more C++/Java/JS/Python.
- Experience with processor architecture, board bring-up / debug, communications protocols such as I2C, UART, SPI, USB, MIPI, I2S.
- Experience building embedded systems
- Experience developing, debugging, and optimizing software on at least one desktop platform (Windows, MacOS, Linux), and at least one mobile platform (Android, iOS).
- Experience writing software at all levels of the stack, from the application UI all the way down to the low level systems software.
- Experience developing, debugging, and shipping software products on large code bases that support multiple platforms.
- Experience with software development processes including source control, bug tracking, and design documentation.
- Demonstrated ability working collaboratively in cross-functional teams.
- Demonstrated domain knowledge in compute & systems development, proven track record in building technology & product development.
- Solid 3D math and linear algebra fundamentals in graphics/games environments.
- Expertise with at least one GPU-backed graphics library (Vulkan, OpenGL, Direct3D, Mantle, Metal, etc.).
- Experience developing or modifying game engines (Unreal, Unity, internally developed, etc.).
- Familiarity with vectorization techniques on at least one platform (e.g. SSE, NEON, etc.).
- Familiarity with GPGPU techniques (e.g. CUDA, OpenCL, etc.).
- Familiarity with writing device drivers on at least one platform.
- Some experience in physics, optics, computer vision, robotics, sensor fusion, or 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