Staff Embedded Software Engineer – Battery Management Systems (BMS)
Location:
Carlsbad, CA (Onsite)
Employment Type:
Full-Time
About the Opportunity
An innovative technology company developing advanced electrified systems is seeking a
Staff Embedded Software Engineer
to lead the development of embedded software for a high-voltage Battery Management System (BMS). This position will play a critical role in defining requirements, designing, implementing, debugging, and validating software for safety-critical embedded systems used in next-generation electric platforms.
This is a hands-on technical leadership role working closely with hardware, systems, and firmware engineers to deliver reliable, production-quality embedded software.
Responsibilities
-
Design, implement, and validate embedded software for high-voltage Battery Management Systems.
-
Translate system requirements into robust embedded software architecture and production-ready code.
-
Develop embedded drivers by interpreting hardware schematics and component datasheets.
-
Bring up, test, and validate new hardware designs using standard electronic test equipment.
-
Debug and optimize embedded software throughout the product development lifecycle.
-
Participate in design reviews, schematic reviews, and peer code reviews to ensure software quality and system reliability.
-
Collaborate with cross-functional engineering teams to integrate software across complex embedded platforms.
-
Drive best practices for software architecture, documentation, maintainability, and performance.
Required Qualifications
-
10+ years of embedded software development experience.
-
Minimum of 3 years developing software for Battery Management Systems (BMS), including high-voltage distributed architectures.
-
Expert-level C programming skills with working knowledge of C++.
-
Experience developing bare-metal embedded systems.
-
Strong understanding of functional safety principles.
-
Experience developing within Linux environments.
-
Proficiency with Git version control.
-
Experience using Python for engineering tools, automation, or scripting.
-
Experience developing, documenting, and releasing production-quality embedded software.
-
Hands-on experience using oscilloscopes, logic analyzers, digital multimeters, power supplies, and other electronic test equipment.
-
Strong software engineering practices with an emphasis on code quality, reliability, and maintainability.
-
Excellent troubleshooting and problem-solving skills.
-
Ability to thrive in a fast-paced, collaborative engineering environment.
Preferred Qualifications
-
Experience with electric vehicle architectures or other complex distributed embedded systems.
-
Familiarity with CAN and LIN communication protocols.
-
Experience using Jira for issue tracking and requirements management.
-
Knowledge of distributed embedded control systems and vehicle communication networks.