Established in 1914, NOCO designs and creates premium automotive and consumer electronic products. Through these world-class offerings, NOCO has effectively set the new standard in design, performance, and safety of its products in the consumer, commercial, and industrial markets.
What You Will Be Doing with Us
You will apply senior software engineering expertise as part of the NOCO R&D group in Peoria, Arizona, providing software development and verification support for NOCO’s market-leading AC- and battery-powered consumer electronics such as vehicle jump starters (boosts), smart chargers, smart lithium batteries, air pumps, and other products. In this role you will:
- Architect and design code for ARM microcontroller-based NOCO products
- Design and implement control algorithms for electronic charging systems
- Support existing products, primarily vehicle boosts, with ongoing software feature enhancements
- Troubleshoot and determine root cause and resolution of production software issues
- Devise best-practice software coding & verification methodology, including use of AI LLM workflows and agents, and work with test engineers to implement automated testing
- Devise algorithms to maximize performance on both virtual and real hardware
- Work with prototype hardware and identify ways to leverage and enhance new hardware capabilities
- Work closely with hardware and test engineers, applying hands‑on knowledge of electrical hardware design and lab test equipment to inform software design
- Code software for user interfaces such as LEDs and small format displays, as well as serial communications buses such as SPI, I2C, CAN Bus, and others
- Code software for fast charging/discharging of lithium batteries using industry standard interfaces such as USB-A, USB-C, and others. Knowledge of lithium battery charging methodology and battery management system (BMS) operation is required.
What You Will Need
- 10+ years of relevant hands‑on embedded software development and a Bachelor of Science degree (or higher) in Computer Science, Computer Engineering, Electrical Engineering, or similar fields
- Must be a self‑directed problem solver who can work in both individual and team settings to achieve robust software solutions for complex design challenges
- Must be able to organize and prioritize tasks across multiple projects to meet product timelines in the fast‑paced consumer electronics market
- Experience developing both super‑loop and RTOS threaded software architectures for real‑time embedded software applications
- Good working knowledge of electronic hardware and system design to be able to write software meeting hardware functional requirements
- Ability to design and tune/verify PID control systems for general control applications, as well as for specific motor control schemes such as PMSM control, FOC, and BLDC trapezoidal control
- Familiarity with BSP/FSP/other peripheral code configuration & auto‑generation tools, plus the ability to go beyond provided drivers to directly program features like ADC windowing and DMA, event controllers, timer usage, and experience with low power design.
- Hands‑on experience with electrical hardware design and interfacing with lab test equipment such as oscilloscopes, spectrum analyzers, electronic loads (e‑loads), digital test equipment, etc.
- Working knowledge of methods for charging/discharging lithium batteries using industry standard interfaces such as USB-A, USB-C, and others, including BMS control, cell balancing techniques, charging profiles, etc.
- Familiarity with serial communications interfaces and protocols such as I2C/SMBus, SPI, & CAN Bus
- Proven ability to determine root‑cause of software performance issues
- Proficient in C/C++, with an understanding of best‑practice software development, source management, and verification methodologies targeting real‑time systems
- Ability to work well in a cooperative and positive team environment, including mentoring junior developers
- Excellent communication, collaboration, and coordination skills as well as a talent and desire for mentoring junior engineers
What We Would Also Like
- Familiarity with real‑time OS, ARM microcontrollers, Eclipse‑based IDEs
- Knowledge in use and application of AI models, agents, and workflows for coding embedded and application software and automating processes
- Some knowledge of scripting methodology/languages such as Python or shell scripting
- Ability to learn new technologies and product areas quickly
- Experience using Windows‑based and/or Linux‑based code development environments
Employment Type & Location
This is a full‑time, exempt position based on‑site at NOCO’s Peoria, Arizona facility. Relocation assistance may be available for the right candidate.
In addition to compensation, NOCO offers a comprehensive benefits package that includes medical, dental, and vision coverage, a 401(k) with company match, and paid time off.
Physical Requirements & Safety
This role involves regular on‑site hands‑on work with electromechanical and electrochemical systems and lab test equipment. Candidates must be able to work safely in a laboratory and light‑manufacturing environment, follow all electrical‑safety protocols, and occasionally lift and handle equipment and battery products weighing up to 30 pounds.
Equal Opportunity Employer
NOCO is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, protected veteran status, or any other characteristic protected by law.