Facebook Software Infrastructure/SDK Engineer in Redmond, Washington
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.
Equal Opportunity: As part of our dedication to the diversity of our workforce, Facebook is committed to Equal Employment Opportunity without regard for race, color, national origin, ethnicity, gender, protected veteran status, disability, sexual orientation, gender identity, or religion. We are also 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 or you may call us at 1+650-308-7837.