Software Engineer - ML/Computer Vision (Battery Sorting)

Redwood Materials
Redwood Materials

Software Engineering, Data Science

San Francisco, CA, USA

USD 152,500-287,500 / year

Posted on Jun 24, 2026
<div class="content-intro"><div class="page"> <div class="section"> <div class="layoutArea"> <div class="column"> <p><span style="font-family: helvetica, arial, sans-serif; font-size: 12pt;"><strong>About Redwood Materials</strong></span></p> <div> <p><strong>Redwood is localizing a global battery supply chain that seamlessly integrates recovery, reuse, and recycling&nbsp;</strong><strong>—&nbsp;</strong><strong>keeping critical minerals in circulation and driving the energy transition. Founded in 2017,</strong><strong>&nbsp;we’re delivering low-cost and large-scale energy storage and producing battery materials in the U.S. for the first time, all from batteries we already have.</strong></p> </div> </div> </div> </div> </div></div><p>&nbsp;</p> <p class="font-claude-response-body break-words whitespace-normal"><span style="font-size: 12pt;"><strong>Software Engineer, ML/Computer Vision (Battery Sorting)</strong></span></p> <p class="font-claude-response-body break-words whitespace-normal"><span style="font-size: 12pt;">The Battery Sorting team at Redwood Materials is building a world-class, ML-enabled sorting platform that uses computer vision and machine learning to classify and route thousands of end-of-life batteries per hour across diverse chemistries and form factors. This role sits at the intersection of software engineering and machine learning, with direct ownership of the production systems powering automated battery sorting on the factory floor. The ideal candidate is equally comfortable debugging a production incident as iterating on a model, and will have the opportunity to generate patents in automated battery classification. This is a high-impact, highly visible role with immediate real-world application in advancing the energy transition.</span></p> <p class="font-claude-response-body break-words whitespace-normal"><span style="font-size: 12pt;"><strong>Hours</strong></span></p> <p class="font-claude-response-body break-words whitespace-normal"><span style="font-size: 12pt;">Full-time | Schedule may vary depending on site operational needs; flexibility required</span></p> <p class="font-claude-response-body break-words whitespace-normal"><span style="font-size: 12pt;"><strong>Responsibilities will include:</strong></span></p> <ul class="[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3"> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">Develop, test, and maintain production software systems powering automated battery sorting, spanning ML inference, image acquisition, sensor integration, and hardware-adjacent control interfaces</span></li> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">Train and deploy computer vision models for battery chemistry classification, including dataset annotation, preprocessing, and evaluation within established data pipelines</span></li> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">Build and maintain services and APIs that connect ML outputs to downstream systems including MES, HMI, and PLC/controls interfaces</span></li> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">Own observability across the production software stack through structured logging, metrics dashboards, alerting, and on-call triage for inference pipelines and supporting services</span></li> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">Monitor model performance in production to catch regressions or distribution shifts and drive iterative improvements through data analysis and retraining</span></li> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">Contribute to infrastructure-as-code and CI/CD workflows to validate, version, and deploy application code and ML model artifacts to production environments</span></li> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">Collaborate cross-functionally with Controls, Hardware, Manufacturing, DevOps, and IT teams to translate operational needs into software and model improvements</span></li> </ul> <p class="font-claude-response-body break-words whitespace-normal"><span style="font-size: 12pt;"><strong>Desired Qualifications:</strong></span></p> <ul class="[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3"> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">B.S. in Computer Science, Electrical Engineering, or a related field, or equivalent practical experience</span></li> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">2+ years of industry experience working with machine learning models, preferably in computer vision</span></li> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">Hands-on experience with ML frameworks and libraries such as PyTorch and OpenCV</span></li> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">Experience contributing to production codebases and pipelines with an emphasis on clean, well-documented, and well-tested code</span></li> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">Experience designing and tracking ML experiments using tools such as MLflow</span></li> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">Familiarity with edge deployment or model optimization techniques for inference (e.g., quantization, TensorRT, ONNX Runtime) in latency-sensitive or resource-constrained environments</span></li> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">Experience with OCR, image classification pipelines, or multi-sensor and multimodal fusion</span></li> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">Experience working in or alongside industrial, manufacturing, or operations environments where software interacts with physical systems</span></li> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">Strong cross-functional communication skills and ability to prioritize and execute in a fast-paced, dynamic environment</span></li> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">A passion for sustainability and making the world a better place!</span></li> </ul> <p class="font-claude-response-body break-words whitespace-normal"><span style="font-size: 12pt;"><strong>Working Conditions:</strong></span></p> <ul class="[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3"> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">Factory floor environment; work schedule may vary depending on site operational needs and flexibility is required</span></li> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">Willingness and ability to travel to Reno, NV as needed</span></li> <li class="font-claude-response-body whitespace-normal break-words pl-2" style="font-size: 12pt;"><span style="font-size: 12pt;">Additional working conditions to be confirmed with Hiring Manager</span></li> </ul> <p>&nbsp;</p><div class="content-pay-transparency"><div class="pay-input"><div class="description"><p><span data-teams="true"><span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak">In accordance with California pay transparency laws, the salary range for this position is listed below. Actual compensation may vary based on a variety of factors, including experience, education, and skills.&nbsp;</span></span></p></div><div class="title">California Pay Range:</div><div class="pay-range"><span>$152,500</span><span class="divider">&mdash;</span><span>$287,500 USD</span></div></div></div><div class="content-conclusion"><p><span style="font-size: 12pt; font-family: helvetica, arial, sans-serif;">The position is full-time. Compensation will be commensurate with experience.</span></p> <p>&nbsp;</p> <p><span style="font-size: 12pt;">We collect personal information (PI) from you in connection with your application for employment with Redwood Materials, including the following categories of PI: identifiers, personal records, professional or employment information, and inferences drawn from your PI. We collect your PI for our purposes, including performing services and operations related to your potential employment. If you have additional privacy-related questions, please contact us at privacy@redwoodmaterials.com.</span></p></div>