Job Description: Capture Software Engineer
Meta Reality Labs is dedicated to the research and development required to bring virtual and augmented reality to billions of people around the world. At RL, 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.
The successful candidate will have deep understanding of computing at multiple levels of abstraction, from theory, to hardware interfaces, to operating systems, to user facing application and large-scale distributed systems. You understand contemporary software design and engineering practices. You thrive in a fast-paced, multidisciplinary environment.
Responsibilities
Develop high-performance software to collect data from sensors in our capture system.
Develop methods to verify sensors are behaving properly and returning high quality data.
Support and evaluate device hardware, software, and firmware updates.
Implement robust processes for testing capture system changes prior to pushing to live servers.
Collaborate with vendors to troubleshoot hardware issues.
Collaborate with our user studies team to understand common failure cases, ascertain root causes, and improve the data capture experience.
Minimum Qualifications
Bachelor of Science (or equivalent) in Computer Science or a related field
4+ years of Python, C++ experience, including Modern C++ features and techniques
Proven track record of shipping software
Experience with software development practices such as source control, code reviews, unit testing, debugging and profiling
Experience with Linux and command line utilities
Experience developing GUI applications
Strong collaborator with excellent communication skills across teams of varying knowledge of components
Preferred Qualifications
Experience with cameras and optical systems, lighting systems, and audio systems
Experience with Qt library
Experience with 0MQ
Experience with Python
Experience with Networking
Experience developing and managing large scale-distributed systems