Software/ML Engineer
Description
Our goal is to explore, innovate and design novel interfaces and hardware subsystems for the next generation of virtual, augmented, and mixed reality experiences. We are seeking a highly skilled and motivated Software/ML Engineer to join our human-computer interaction (HCI) research team. The successful candidate will have experience in prototyping, debugging, and integrating specialty hardware and software to run experiments. The ideal candidate will have experience working as part of small multidisciplinary teams (e.g., startups) building necessary pipelines and infrastructure for collecting CV and time series datasets, performing quality control, preprocessing and modeling. Additionally, they would have experience implementing and debugging machine learning methods.
Minimum qualifications:
MS with 3+ years of experience in Computer Science, Electrical Engineering, Robotics, Statistics, Machine/Deep Learning, or a related area
Proficiency in Python, PyTorch, javascript, and software best practices (code reviews, version control)
Experience integrating, bringing-up, and debugging prototype hardware, firmware/drivers, and frontend/backend software to create full-stack software-hardware systems
Experience implementing Deep Learning pipelines and deploying models
Responsibilities
Leading data collection efforts with both established and prototype hardware, including device bring up, developing and testing of the user study frontend and backend software, and end to end integration testing
Providing support to Research Assistants during data collection campaigns
Performing data quality control, dataset clean up, preprocessing and featurization
Collaborating with other research engineers and scientists on building software platforms for data analysis and real-time human-system interactions
Developing robust benchmarking workflows and pipelines for offline and online model performance evaluation
Developing online learning algorithms to improve model accuracy in real-time
Developing, applying, and tuning state-of-the-art deep learning algorithms to train and evaluate models
Regularly reporting on project status, delivering high-quality code with thorough documentation, and effectively communicating updates through presentations and written reports
Preferred qualifications
PhD in Computer Science, Electrical Engineering, Robotics, Statistics, Machine Learning, or a related area
Experience with online and offline signal processing of biological time series data and sensor-fusion techniques
Experience with applying state-of-the-art self-supervised learning algorithms to train and evaluate encoder-decoder models
Familiarity with AR/VR and ML/CV technologies and literature
Experience with multi-task learning, few-shot learning, semi-supervised learning
Experience applying machine learning or other signal processing techniques to noisy sensor data in real-time, interactive applications (e.g., IMU, cameras, EMG)