Facebook Software Engineer in Pittsburgh, Pennsylvania
Facebook Reality Labs is dedicated to the research and development required to bring virtual and augmented reality to billions of people around the world. At the Pittsburgh lab, we aspire to a vision of social VR and AR, where people can interact with each other across distances in a way that is indistinguishable from in-person interactions. We are looking for talented Software Engineers to accelerate the progression to authentic social presence in virtual reality. In our current pipeline, a multitude of sensing components, including image sensors, microphones, inertial measurement units, bio-potential sensors, are installed on the headset prototypes to collect a rich suite of information that reflects the user's physical state, with an emphasis on modality synchronicity and latency minimization; this information is then processed by our state-of-the-art algorithms to allow for a computational representation of the user. The ideal candidate for this position shall be familiar with the software stack, ranging from the operating-system level interfaces that fetch data from hardware sensors, to the higher-level software modules that organize, or visualize fetched data, and will work with researchers to implement system level software solutions.
Work with research scientists to understand challenges in building state-of-the-art software systems
Propose and implement system-level software solutions to facilitate research activities
Develop reusable software building blocks to allow for fast prototyping
Apply knowledge of relevant research domains to accelerate the progression of research projects
Bachelors degree in fields related to computer science and engineering
3+ years of experience using C++ for software development
Knowledge of modern C++ standards (11/14/17) and their best practices
Knowledge of software libraries, such as Boost, OpenML, OpenGL, Cuda, etc.
Experience using Python for scripting and scientific computing
Experience with development on multiple operating systems, including Windows and Linux
Hands-on experience in using version control systems (Git, Mercurial)
Knowledge of code bases at different layers in the software stack
Experience communicating with researchers to understand project scope
Experience approaching software engineering problems systematically and independently
Masters degree or doctorate in fields related to computer science and engineering
5+ years of experience using C++ for software development
Hands-on experience with computer graphics, rendering, game engines
Hands-on experience with scientific and/or industrial data capture hardware and software
Hands-on experience on development for embedded systems, especially on Cortex M-series controller
Experience with lower-level peripherals such as I2C, SPI, and UART
Equal Opportunity: Facebook is proud to be an Equal Opportunity and Affirmative Action employer. We do not discriminate based upon race, religion, color, national origin, sex (including pregnancy, childbirth, or related medical conditions), sexual orientation, gender, gender identity, gender expression, transgender status, sexual stereotypes, age, status as a protected veteran, status as an individual with a disability, or other applicable legally protected characteristics. We also consider qualified applicants with criminal histories, consistent with applicable federal, state and local law. Facebook is committed to providing reasonable accommodations for candidates with disabilities in our recruiting process. If you need any assistance or accommodations due to a disability, please let us know at email@example.com.