Job Description
Facebook's mission is to give people the power to build community and bring the world closer together. Through our family of apps and services, we're building a different kind of company that connects billions of people around the world, gives them ways to share what matters most to them, and helps bring people closer together. Whether we're creating new products or helping a small business expand its reach, people at Facebook are builders at heart. Our global teams are constantly iterating, solving problems, and working together to empower people around the world to build community and connect in meaningful ways. Together, we can help people build stronger communities - we're just getting started.
FRL Research is dedicated to the research and development required to bring virtual and augmented reality to billions of people around the world. We are focused on making interpersonal, social experience in virtual reality and augmented reality, perceptually indistinguishable from real life, in-person interactions.You are a Software Engineer skilled in C++ and Python, and you enjoy working close to in-house developed embedded devices, combining a multitude of sensing components, including image sensors, microphones, inertial measurement units. You are aware of important aspects of real-time perception systems and/or robots such as time synchronization, latency minimization, and have experience with the full stack projects ranging from the hardware sensors, firmware, operating-system level interfaces to the higher level software modules that organize, or visualize fetched sensor data. You understand contemporary software design and engineering practices. You thrive in a fast-paced, multidisciplinary environment. At FRL Research, you will join a world-class team exploring optics, haptics, tracking, displays, computer vision, user experience, audio, and perceptual psychology. Every day, you will work alongside expert Research Scientists, Mechanical Engineers, Electrical Engineers and Software Engineers to create the technology that will make VR and AR pervasive and universal. Join the adventure of a lifetime, as we invent the future and change the world.
Responsibilities
- Develop software to interfaces to a variety of off-the-shelf and custom sensors
- Develop reusable software building blocks to allow for fast prototyping in C++ and Python
- Apply knowledge of real-time perception systems to accelerate development of reusable software for perception components
- Integrate and implement system-level software solutions to facilitate research activities
Minimum Qualification
- 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.
- Hands-on experience using Python for scripting and scientific computing
- Experience with development for multiple operating systems, including Windows and Linux
- Experience with software development practices such as source control, code reviews, unit testing, debugging and profiling
- Experience with code bases covering different layers in the firmware/software stack
- Experience approaching software engineering problems systematically and independently
Preferred Qualification
- Masters degree or doctorate in fields related to computer science and engineering
- 5+ years of experience using C++ for software development
- 3+ years of Python experience
- 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
- Experience with high-speed buses such as USB and PCIe
- Experience communicating with researchers to understand and negotiate project scope
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 accommodations-ext@fb.com.