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 (HTTP, 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 Assembly
Experience with Embedded Linux
Proficiency in IPC (Message Queues, Shared Memory, Sockets)
Familiarity with protocols such as HTTP and MQTT
Strong foundation in Data Structures and Algorithms
Good understanding of memory management in low-level systems
Experience in threading and multi-threading techniques
Excellent debugging skills using tools like GDB, strace, valgrind, printk , etc.
Experience in driver development , especially console-level bring-up
Bonus Points Exposure to Yocto , Buildroot , or other Linux build systems
Familiarity with real-time systems and low-power device optimization
Embedded Software Engineer • Hyderabad, India