Senior Software Engineer Lead
Job Summary
We are seeking a Senior Software Engineer to lead a team of 5 developers focused on developing and optimizing software for Brushless DC motors. The role involves implementing Field Oriented Control (FOC) algorithms using Model-Based Design (MBD) and simulations. You will lead the transition to Safety RTOS and AUTOSAR while establishing automated testing in a Linux environment.
Responsibilities
- Lead a team of 5 software developers
- Develop and optimize FOC algorithms
- Implement Model-Based Design (MBD)
- Oversee transition to Safety RTOS and AUTOSAR
- Establish Linux-based automated testing
Required Skills
- C/C++ and Embedded development
- BLDC Motor Control & FOC
- MATLAB/Simulink & MBD
- Safety RTOS & AUTOSAR
- ISO 26262 knowledge
Job Details
Key Responsibilities:
- Lead a team of 5 software developers working on BLDC motor control systems.
- Develop and optimize motor control algorithms using Field Oriented Control (FOC).
- Drive Model-Based Design (MBD) and simulation efforts to improve software accuracy and performance.
- Oversee the transition from a baremetal platform to Safety RTOS and AUTOSAR.
- Lead and Implement an automated testing environment in Linux to ensure robust, safety-critical software.
- Collaborate closely with cross-functional teams, including hardware engineers and system architects, to ensure alignment on design and testing strategies.
- Ensure the team adheres to industry best practices for safety-critical software development, including compliance with ISO 26262 and other relevant standards.
Requirements:
- Bachelor’s or Master’s degree in Electrical Engineering, Computer Engineering, Mechatronics Engineering or a related field.
- 8+ years of experience in embedded software development, with at least 3 years in a leadership or team lead role.
- Expertise in Brushless DC (BLDC) motor control and Field Oriented Control (FOC).
- Strong background in Model-Based Design (MBD) using tools like MATLAB/Simulink.
- Experience with baremetal development and transitioning to Safety RTOS and AUTOSAR.
- Proficiency in C/C++ and embedded software development.
- Experience with automated testing in a Linux environment.
- Knowledge of safety-critical systems and standards such as ISO 26262.
- Experience with embedded systems and communication protocols such as UART, SPI, I2C, CAN, CANopen, EtherCAT, J1939, UDS, EtherNet/IP.
- Experience with software development tools such as IAR, Code Composer Studio, Visual Studio, or related embedded IDEs (compilers and debuggers).
- Experience with UML diagrams used in software design, like sequence diagrams, state machine diagrams and activity diagrams.
- Experience with ARM based microprocessors. STM and Infineon microcontrollers/processors desired.
- Familiarity with various coding standards and best practices like ISO13849, ASPICE and cybersecurity ISO 21434.
- Familiarity with Agile software development methodologies (for example, Scrum or Kanban) and experience with tools such as Jira/Jama.
- Solid computer skills include MS Office, engineering design software such as CANalyzer, MATLAB, LabVIEW, TortoiseGit, Sourcetree, Bitbucket/Confluence would be a plus.
- Strong problem-solving skills and ability to troubleshoot firmware issues in real-time.
- Good written and verbal communication skills and ability to work collaboratively in a team environment.
- Demonstrated ability to work independently, prioritize tasks, and manage multiple projects simultaneously.
Preferred Qualifications:
- Strong leadership, communication, and project management skills.
- Experience with automotive or industrial motor control applications.
- Knowledge of functional safety and experience with ASIL ratings.
- Experience with continuous integration/continuous deployment (CI/CD) pipelines for embedded systems.
- Work experience, knowledge of gear motors, electric motors, and drives is a plus.
- Experience in BLDC motors and control algorithms would be a plus.