As a Senior Firmware Engineer, you’ll contribute to the development and maintenance of embedded software across key domains in Board Support Package (BSP), Embedded Linux, Protocol Stack, and Front Office for SW Maintenance.
Tasks:
- Coding & Code Quality – Write clean, efficient, and maintainable C code in accordance with Rolling Wireless coding standards.
- Debugging & Troubleshooting – Use tools such as GDB, KDB, QXDM, QPST, and other diagnostic utilities to identify and resolve software issues.
- Unit Testing Development – Develop comprehensive unit tests and ensure that all implemented features pass required verification processes.
- Code Review & Design Review – Participate actively in code and design reviews, ensuring adherence to best practices, performance requirements, and architectural consistency.
- Technical Issue Resolution – Investigate and resolve critical technical challenges during firmware development and integration.
- Prototyping & Innovation – Contribute to proof-of-concept development and innovation initiatives, exploring new technologies and approaches that enhance product capability.
Required Experience:
- Education – Bachelor’s degree in Electrical Engineering (BSEE), Computer Science, or a related field (mandatory); Master’s degree preferred
- Experience – Minimum 5 years of experience in embedded software development and at least 3 years in embedded SW development
- Programming Skills – Strong proficiency in C/C++ programming
- Processor & Architecture Knowledge – Familiarity with ARM architecture and ARM assembly language
- Multi-Threading Programming – Strong understanding of multi-thread programming
- BSP Expertise (for BSP-focused roles)- In-depth understanding of Board Support Package (BSP) features, including I2C, UART, GPIO, MIPI, USB, SPI, SDIO, I2S, PCM, Ethernet
- Wireless Protocol Expertise (for Protocol-focused roles) – In-depth understanding of LTE, 5G, GNSS (GPS, GLONASS, Galileo, BeiDou), explicitly required for Protocol domain
- Linux System Knowledge (for Embedded Linux roles) – Deep understanding of Linux filesystems, TCP/IP networking, device drivers, inter-process communication (IPC), memory management, and process scheduling, explicitly required for Embedded Linux
- Build & Compilation Expertise (for Embedded Linux roles) – Extensive experience with Linux/Yocto build systems, including Bitbake, GNU Make, Autotools, and CMake, explicitly required for Embedded Linux
- Problem-Solving & Communication – A creative and quick learner with strong analytical skills and excellent verbal and written communication in English
- Teamwork & Independence – Ability to work both independently and collaboratively in a fast-paced environment