Software Infrastructure/SDK Engineer
Careers at Oculus
Part of Facebook
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 API design, and experience with shipping software products.You are the kind of engineer who is passionate about the health and quality of a large code base (e.g. good abstractions, good module factoring, good APIs, good diagnostics infrastructure, etc.). You are an expert in effective API design across a range of problem types, and a principled advocate for long term health of the product's API surface. You care deeply about the developer experience both within the team and for external customers. You are fluent in multiple software infrastructure libraries (e.g. STL, Apache Portable Runtime, Boost, GLib, etc.) and can advocate for and against software infrastructure that helps the team move faster, be more productive, and improve software quality. You drive practical choices across the team about refactoring efforts with a focus on high leverage areas with measurable gains, and are comfortable managing large scale refactoring efforts that span teams and reach across a large code base. You are able to constructively influence code and module quality across the team and across partner teams through code and design reviews.
- Design and implement internal and external APIs that expose the core functionality of the system in a way that's understandable and easy to use for both internal and external customers.
- Understand software components from multiple partner teams, lead the integration of those components into the unified product code base, and drive their continued development.
- Write example applications that demonstrate effective use of platform APIs.
- Identify, propose, and implement improvements in core software infrastructure and architecture across the entire code base.
- Educate new team members on best practices for software development, testing, and documentation.
- 4+ years experience working in large scale C++ code base.
- Demonstrated knowledge with API design in the context of large scale software systems
- Experience with more than one software infrastructure libraries (e.g. STL, APR, GLib, Boost, etc.).
- 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 C++11 / C++14 features and principles.
- Experience with technology transfer work involving research science, especially in fields such as computer vision, graphics, robotics, and 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