Job Responsibilities:
- Collaborate with cross-functional teams to design and architect firmware solutions that align with product requirements and specifications.
- Collaborate with stakeholders to develop software requirements specifications.
- Lead software risk management and DFMEA, software verification and validation activities.
- Lead the development of embedded firmware for Battery Management System.
- Plan and lead feasibility study, design review
- Responsible for software integration and implementation for embedded systems, ensuring products are according to design requirement.
- Responsible for designing, coding, maintaining debugging firmware and drivers for Battery Management System.
- Responsible for design develop, debugging, tests of product functionality and performance.
- Support entire product life cycle tasks including product creation, realization, and maintenance phases.
- Design and implement software of embedded devices and systems from requirements to production and commercial deployment.
- Conduct thorough code reviews to maintain high-quality standards and optimize firmware code for efficiency and resource utilization.
- Integrate firmware with hardware components, and perform rigorous testing, verification, and validation to validate functionality, performance, and reliability.
- Work closely with PM, hardware engineers, software developers, V&V engineers, marketing, and QA/RA teams from multiple locations (including suppliers or ODM/OEM) to ensure seamless communication and alignment of goals throughout the product development lifecycle.
- Maintain comprehensive documentation of firmware designs, code, and testing procedures/protocols/reports to facilitate collaboration and future development.
- Stay abreast of industry trends, emerging technologies, and best practices to contribute innovative ideas that enhance the capabilities
Requirements:
- Bachelor/Master of Electrical/Electronic/Computer Engineering.
- Min. 5 to 7 years of working experience in R&D or product development as a firmware engineer.
- Extensive experience in Embedded Programming using C/C++/Rust for Embedded Linux and MCU.
- Experience in real-time operating systems (FreeRTOS…etc.)
- Source code control and management using Git.
- Knowledge of Python to create debugging scripts.
- Experience in coding and debugging various communication interfaces and protocols (I2C, SPI, UART, Modbus RTU/TCP, RS232/485).
- Experience in wireless communication systems and protocols (IEEE 802.15.4, Wi-Fi, Bluetooth, Zigbee, Thread, LTE, NB-IoT, LoRa)
- Able to read schematics and utilize Oscilloscopes and other test equipment to debug Firmware issues.
- Remote firmware update and bootloader design.
- Mandarin speaker will be preferred due to high volume of communication with China counterpart