Software Engineer III – Machine Learning
Company | Agility Robotics |
---|---|
Location | San Francisco, CA, USA |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Bachelor’s, Master’s |
Experience Level | Mid Level, Senior |
Requirements
- BS or MS in computer science or related field or have equivalent industry experience
- 3+ years of relevant experience as a machine learning engineer
- Experience training ML models (cluster-based training is a plus)
- Familiarity with common machine learning libraries such as (but not limited to) PyTorch and Slurm
- Software experience in Python
- Experience with version control (Git)
- Ability to communicate technical information effectively both orally and in writing with other team members
- Ability to work independently and as part of a team with a demonstrated ability to establish and maintain effective working relationships
- Authorization to work in the USA
Responsibilities
- Support training, optimization, and deployment of machine learning models on a large fleet of state-of-the-art humanoid robots
- Train and deploy custom machine learning models to improve robot perception and task performance for specific customer environments and applications
- Develop systems to monitor perception performance for robots in the field
- Develop robot data collection, annotation, and analysis protocols to improve machine learning models and perception performance for robots in the field
- Support cluster hardware, software, and protocols for training and evaluating machine learning models
- Support machine learning performance tests on secondary cluster that uses robot compute and GPU hardware
- Work with other teams in software (Manipulation, Navigation, Planning, and Controls) to solve complex cross functional problems
Preferred Qualifications
- Experience setting up compute cluster for simultaneously training and validation of multiple ML models
- Experience deploying neural networks with limited compute (e.g., TensorRT, ONNX, Pytorch Mobile, Tensorflow Lite, etc.)
- Experience with robotics hardware and embedded systems
- Experience with data annotation services
- Experience with GPU Programming (eg. CUDA, OpenGL)
- Experience with modern C++
- Exposure to standard agile and software development processes (issue tracking tools (Jira), feature branching, version control (Git), continuous integration and deployment