About the Role
We are looking for a highly skilled Embedded Software Engineer with strong hands-on experience in C, C++, and Assembly language , who is passionate about building robust, low-level software on Embedded Linux platforms.
You will work closely with our hardware and systems teams to develop, debug, and optimize embedded applications and drivers for mission-critical systems.
Key Responsibilities
- Design, develop, and optimize embedded software on Embedded Linux
- Work with inter-process communication (IPC) mechanisms on Linux
- Develop and debug device drivers , focusing on :
- Board bring-up
- Inode structure
- Kernel console print (kprint)
- Integrate and test application-layer protocols ( MQTT)
- Efficiently manage memory allocation , threading , and multi-threading
- Apply program optimization and debugging techniques to achieve high performance and stability
- Collaborate with firmware and hardware teams for cross-functional development
Required Skills
Strong programming skills in C, C++ , and AssemblyExperience with Embedded LinuxProficiency in IPC (Message Queues, Shared Memory, Sockets)Familiarity with protocols such as and MQTTStrong foundation in Data Structures and AlgorithmsGood understanding of memory management in low-level systemsExperience in threading and multi-threading techniquesExcellent debugging skills using tools like GDB, strace, valgrind, printk , etc.Experience in driver development , especially console-level bring-upBonus Points
Exposure to Yocto , Buildroot , or other Linux build systemsFamiliarity with real-time systems and low-power device optimization