We are seeking an experienced Firmware / Embedded Software Developer to join our growing engineering team.
The ideal candidate will have strong expertise in C/C++, RTOS-based systems, and microcontroller-driven firmware development.
In this role, you will design and develop robust, high-performance embedded solutions for next-generation products.
You will work closely with hardware engineers, system architects, and software teams on system-level design, embedded Linux platforms, driver development, and OTA upgrade mechanisms.
Key Responsibilities :
- Design, develop, test, and maintain firmware and embedded software for microcontroller and embedded Linux platforms.
- Implement, optimize, and maintain real-time operating systems (RTOS) for performance, stability, and reliability.
- Develop and integrate device drivers, BSPs, and low-level system components.
- Work with standard communication protocols such as UART, SPI, I2C, CAN, Ethernet, and USB.
- Design and maintain bootloaders and secure OTA (Over-the-Air) firmware update systems.
- Perform hardware and software debugging using logic analyzers, JTAG, oscilloscopes, and other debugging tools.
- Collaborate closely with hardware teams to review schematics, datasheets, and PCB designs.
- Ensure firmware complies with safety standards, coding guidelines, and regulatory requirements.
- Use Git for version control, code reviews, and collaborative development.
- Develop Python scripts for testing, automation, validation, and build processes.
- Participate in code reviews, A/B testing, CI/CD pipelines, and continuous improvement initiatives.
- Contribute to technical discussions, architecture decisions, and cross-functional problem-solving.
Required Skills & Qualifications :
- Strong proficiency in C/C++ for embedded systems development.
- Solid understanding of RTOS concepts, scheduling, synchronization, and memory management.
- Hands-on experience with microcontrollers (ARM Cortex-M/A, PIC, AVR, or similar).
- Experience with Embedded Linux, including kernel, drivers, and system integration.
- Strong knowledge of communication protocols (I2C, SPI, UART, CAN, Ethernet).
- Proven experience in real-time systems, driver development, and bootloader/OTA design.
- Excellent hardware/software debugging skills.
- Familiarity with Git, branching strategies, and collaborative workflows.
- Experience with Python scripting for automation and testing.
- Understanding of safety, quality, and compliance standards in embedded systems.
- Ability to read and analyze PCB schematics and hardware documentation.
- Strong analytical, problem-solving, and independent working skills.
- Excellent communication skills and ability to work in a cross-functional team environment.