Staff Embedded Software Engineer

CDM 

📍 Carlsbad, United States 🇺🇸

full-time
senior
on-site
Posted —

Key Skills

CC++LinuxCANPython

Industry

AutomotiveConsumer Electronics

Job Description

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.