QUALIFICATIONS AND JOB DESCRIPTION
We are currently seeking a BMS software Engineer, who will be a key contributor in our Battery Management System (BMS) development team with the responsibility to develop innovative electronics for next generation of Energy storage products.
- Computer Science or Engineering or proven equivalent in experience,
- Working experience in embedded software engineering,
- Experience in hands-on development and troubleshooting on embedded targets,
- Programming experience in C/C++,
- Excellent knowledge of OS coding techniques, communication protocols (UART, CAN, SPI, LIN), interfaces and hardware subsystems,
- Excellent understanding and development of low-level drivers for microcontroller peripherals – DI, DO, ADC, DAC, Timers, PWM, DMA, Watchdog, etc.,
- Experience in embedded systems design with pre-emptive, multitasking real-time operating systems,
- Familiarity with software configuration management tools, static code analysis, unit testing and peer review,
- Adequate knowledge of reading schematics and components data sheets,
- Strong documentation and writing skills,
- Self-organized and goal-oriented,
- Very good knowledge of English (written and spoken) is essential,
- Extensive experience in the development and integration of products in the automotive sector especially EV,
- Hands-on experience in the development of battery systems HW and SW,
- Broad experience in engineering,
- Experience in CAN tools such as Vector CANalyzer, script languages and Matlab/Simulink,
- ISO26262 development process experience.
İŞ TANIMI
- Design and implementation of software for BMS systems from requirements to production and commercial deployment,
- Design, development, coding, testing and debugging system software from low-level drivers to application algorithms,
- Reviewing code and design,
- Analyzing and enhancing efficiency, stability and scalability of system resource,
- Supporting software QA and optimizing performance,
- Providing post-production support,
- Interfacing with hardware design and development,
- Developing firmware for custom hardware platforms,
- Developing system algorithms such as battery SoC (State of Charge) and SoH (State of Health) and various communication protocol,
- Defining system hardware and software architecture,
- System integration of firmware with hardware and mechanics,
- Both Real-Time Operating system (RTOS) and “bare metal” programming,
- ISO26262 compliance in development process (if required).