Facebook Software Engineer (Firmware) 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 are able to interact with each other across distances in a way that is indistinguishable from in-person interactions.
Facebook Reality Labs 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 in order 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, the fetched data in a synchronized and managed pattern, in order to work with researchers to derive and implement system level software solutions. Strong communication and interpersonal skills are required.
Work with research scientists to understand challenges in building state-of-the-art sensing systems
Develop software for synchronized data collection, transmission and management from sensory components
Design and implement embedded systems to facilitate control on data collection pipelines
Apply knowledge of relevant research domains to accelerate the progression of research projects
Bachelors degree in fields similar to computer science and engineering
3+ years of experience using C/C++ for software development
Experience with lower-level peripherals such as I2C, SPI, I2S, and UART
Experience with development on multiple operating systems, including Windows and Linux
Hands-on experience with scientific and industrial data capture hardware and software
Hands-on experience in using version control systems (Git, Mercurial)
Experience communicating with fellow engineers to understand project scope
Experience in approaching 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 on development for embedded systems, especially on Cortex M-series controllers
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. If you need assistance or an accommodation due to a disability, you may contact us at firstname.lastname@example.org or you may call us at +1 650-308-7837.