Job Purpose:
The Senior Embedded Software Engineer will be responsible for developing/delivering high quality and performance embedded code running in the processors of our electric vehicle’s powertrains and/or energy storage systems.
The position requires strong proficiency in programming languages and applications, as well as good communications skills. Our Firmware Engineers are the creative minds behind computer programs in our vehicles. As such, you will have the opportunity to develop a program applications/features in our vehicles that allow our customers to take full advantage of the innovative technologies we have planned in our product offerings.
Primary Responsibilities:
- Develop embedded software for commercial and passenger vehicle applications to meet cost, timing, and performance targets, and review, approve or modify production software designs
- Ensure code and artifacts are maintained to guidelines
- Lead and participate in technical reviews
- Adhere to software engineering processes to support efficient and effective high-quality embedded software
- Assess cost/benefit trade-off of technical solution and lead decision-making process
- Proactively support design validation teams in test plan reviews to ensure testing strategies and methods truly stress and verify design compliance and safety
- Drive fast and thorough problem resolution through the use of team-oriented problem-solving tools, including 8D, 5-Why, Is-Is Not techniques
Position Qualifications:
- B.S. in Electrical, Electronics, Software or Controls Engineering (M.S. preferred)
- 5+ years of experience in the development of automotive embedded controller (TI or NXP based)
- Carry out in reading and debugging source code in C
- Experience with MATLAB Simulink/Stateflow
- Experience with embedded RTOS
- CAN, LIN, SPI, I2C communication protocol knowledge
- Competent in supporting software languages (C#, python, .NET, Visual C++, etc.)
- Proficient in working with requirement management systems (e.g. DOORs) as well as generating/gleaning Software Requirements from higher level requirements (e.g. System Requirements)
- Experience with hands-on Development and Laboratory equipment (function generators, logic analyzers, Debugging modules, advanced oscilloscopes
- Experience with safety-critical software functions and ISO26262
- Be hands-on in system-level and board-level testing
Key Competencies:
· Experience in taking designs from concept, to requirements, to code, to test, to production implementation
· Experience with the use of and continued development of the Software Toolchains
· Good understanding of PCB schematics and comfortable with basic hardware tasks (soldering components, adding jumpers, harness wiring, etc.)
· Builds safety, quality and compliance into all actions; committed to continuous learning and self-improvement
· Action-oriented, displays behaviors that demonstrate ownership in the success of the company
· Demonstrates focus on meeting both internal and external customer needs when identifying, prioritizing and accomplishing tasks
· Evaluates existing work processes and initiates practices to promote continuous improvement
· Excellent communications and interpersonal skills – position requires strong interaction in a multi-functional team environment
Salary: Depends on working experience