Software Engineer - ML/Computer Vision (Battery Sorting)
Job description
About the role
At Redwood Materials, we are dedicated to building a sustainable supply chain for batteries, focusing on the recovery, reuse, and recycling of essential minerals. Founded in 2017, our mission is to revolutionize energy storage by producing battery materials domestically, utilizing existing batteries to minimize waste and environmental impact. As a Software Engineer specializing in machine learning and computer vision for battery sorting, you will play a crucial role in advancing our technology and operational capabilities.
Key facts
What you'll do
- Design and implement software systems that facilitate the automated sorting of batteries, incorporating machine learning inference, image capturing, sensor integration, and control interfaces.
- Develop and deploy computer vision models aimed at classifying battery chemistry, which includes tasks such as dataset annotation, preprocessing, and evaluation through established data workflows.
- Create and maintain services and APIs that connect machine learning outputs to downstream systems, including manufacturing execution systems (MES), human-machine interfaces (HMI), and programmable logic controllers (PLC).
- Ensure comprehensive observability across the software stack by implementing structured logging, metrics dashboards, and alerting systems, while also providing on-call support for inference pipelines and associated services.
- Monitor model performance in production to detect regressions or shifts in data distribution, driving iterative improvements through thorough analysis and retraining processes.
- Contribute to infrastructure-as-code practices and continuous integration/continuous deployment (CI/CD) processes to validate, version, and deploy application code and machine learning artifacts effectively in a production environment.
- Collaborate closely with Controls, Hardware, Manufacturing, DevOps, and IT teams to translate operational requirements into software and model enhancements that meet business needs.
- Engage in troubleshooting and debugging of software issues, ensuring timely resolution to maintain operational efficiency.
- Participate in code reviews and contribute to the development of best practices for software engineering within the team.
- Stay updated with the latest advancements in machine learning and computer vision to continuously enhance our technology stack and methodologies.
Requirements
- A Bachelor's degree in Computer Science, Electrical Engineering, or a related discipline, or equivalent professional experience in the field.
- A minimum of 2 years of practical experience working with machine learning models, particularly in the domain of computer vision.
- Proficiency in machine learning frameworks and libraries, including but not limited to PyTorch and OpenCV.
- Proven experience in contributing to production-level codebases and pipelines, with a strong emphasis on writing clean, well-documented, and thoroughly tested code.
- Familiarity with designing and monitoring machine learning experiments using tools such as MLflow.
- Knowledge of techniques for edge deployment and model optimization for inference, including quantization, TensorRT, or ONNX Runtime, particularly in latency-sensitive or resource-constrained environments.
- Experience with optical character recognition (OCR), image classification pipelines, or multi-sensor and multimodal data fusion.
- A background in industrial, manufacturing, or operational settings where software interacts with physical systems is preferred.
- Excellent communication skills, with the ability to prioritize tasks effectively in a fast-paced, dynamic environment.
- A strong commitment to sustainability and a passion for making a positive impact on the world.
Nice to have
- Experience with cloud-based machine learning services and deployment strategies.
- Familiarity with agile development methodologies and project management tools.
- Knowledge of data privacy regulations and best practices in handling personal information.
Skills & tools
- Proficient in Python and relevant programming languages for machine learning and software development.
- Experience with version control systems, particularly Git, for collaborative development.
- Familiarity with containerization technologies such as Docker for application deployment.
- Understanding of data visualization tools and techniques for presenting model performance and insights.
Practical notes
- The work environment will primarily be on the factory floor, necessitating adaptability to changing schedules based on operational needs.
- Willingness to travel to Reno, NV as required for collaboration and project needs.
- Additional working conditions and expectations will be discussed with the Hiring Manager during the interview process.
$152,500 - $287,500 USD
This is a full-time position, and compensation will be commensurate with experience and qualifications.
We collect personal information (PI) from applicants for employment with Redwood Materials, including identifiers, personal records, professional information, and inferences drawn from your PI. This information is collected for purposes related to your potential employment. For any privacy-related inquiries, please contact us at privacy@redwoodmaterials.com.
About the company
Based in Carson City, Nevada, Redwood Materials focuses on reclaiming lithium-ion batteries and creating feedstock for electric vehicles and storage. Established in 2017 by J. B. Straubel, the company channels recovered materials back into manufacturing. As of October 2025, financial estimates valued Redwood Materials at roughly $6 billion. Operations support electromobility and grid applications by processing used batteries into essential raw components for energy systems.