About the Company
ThunderSoft is a top OS tech/solutions provider leading in mobile, IoT, automotive, and enterprise. You'll work with edge intelligence, multi-OS (Android, Linux, Windows), and partner with giants to build innovative, market-ready IoT/intelligent connected vehicle solutions. Headquartered in Beijing (Shenzhen-listed: SZ: 300496), we have 40+ China R&D centers and a global footprint (Germany, Japan, Malaysia, U.S., etc.)your chance to shape global tech and boost your career!
About the Role
- Craft & optimize embedded software for real-time systemsdrive seamless HW-SW integration, protocols (SPI/I2C/CAN), and high-efficiency solutions!
- Shape reliable embedded systems: Design drivers/BSPs, debug cross-layer challenges, and collaborate to deliver performance-focused software.
- Lead embedded software development for resource-constrained systemsblend coding expertise, protocol mastery, and teamwork to innovate fast!
Key Responsibilities:
- Design, develop, and maintain embedded software for real-time, resource-constrained systems.
- Perform system-level debugging and troubleshooting across hardwarefirmwaresoftware boundaries.
- Work closely with hardware engineers to define interface requirements, system specifications, and ensure seamless hardware-software integration.
- Develop device drivers, board support packages (BSP), and implement communication protocols for embedded platforms.
- Optimize software for performance, memory usage, and power efficiency.
- Conduct unit testing, integration testing, and assist in system validation and verification.
- Prepare and maintain detailed technical documentation for designs, processes, and test results.
- Participate in code reviews, design reviews, and contribute to process improvements.
- Support continuous integration/continuous deployment (CI/CD) processes and version control best practices.
Responsibilities
- Design, develop, and maintain embedded software for real-time, resource-constrained systems.
- Perform system-level debugging and troubleshooting across hardwarefirmwaresoftware boundaries.
- Work closely with hardware engineers to define interface requirements, system specifications, and ensure seamless hardware-software integration.
- Develop device drivers, board support packages (BSP), and implement communication protocols for embedded platforms.
- Optimize software for performance, memory usage, and power efficiency.
- Conduct unit testing, integration testing, and assist in system validation and verification.
- Prepare and maintain detailed technical documentation for designs, processes, and test results.
- Participate in code reviews, design reviews, and contribute to process improvements.
- Support continuous integration/continuous deployment (CI/CD) processes and version control best practices.
Qualifications
- Bachelor's Degree in Computer Engineering, Electrical/Electronics Engineering, Computer Science or a related discipline.
Required Skills
- 25 years of professional, hands-on experience in embedded software development.
- Proficiency in Embedded C programming with strong debugging and optimization skills.
- Experience with ARM-based microcontrollers (Cortex-M series or similar).
- Solid understanding of RTOS, interrupt handling, memory management, and device driver development.
- Proficient with debugging and testing tools (JTAG, oscilloscopes, logic analyzers, etc.).
- Familiar with communication protocols: SPI, I2C, UART, CAN, One-wire, Ethernet.
- Strong analytical thinking, structured problem-solving skills, and attention to detail.
- Effective communication and teamwork skills, able to work in a fast-paced and collaborative environment.