Posted on: 31/10/2025
Job Title : Embedded Software Engineer - Linux Kernel & Device Drivers (C/C++)
Location : Hyderabad, India
Job Summary :
- We are looking for a highly skilled Embedded Software Engineer experienced in Embedded C/C++ development, Linux Kernel programming, and Device Driver design.
- The ideal candidate will contribute to low-level software development for embedded systems, working closely with hardware and firmware teams to design, implement, and optimize drivers and kernel modules for next-generation platforms.
Key Responsibilities :
Embedded Software Development :
- Design, develop, and debug embedded software in C and C++ for Linux-based systems.
- Develop and maintain board support packages (BSPs), bootloaders, and low-level firmware.
- Work on real-time performance optimization, memory management, and inter-process communication.
Linux Kernel & Device Driver Development :
- Develop and maintain Linux kernel modules and device drivers for various peripherals (I2C, SPI, UART, GPIO, USB, PCIe, etc.).
- Integrate and test drivers on custom hardware platforms.
- Analyze kernel crashes, debug hardware/software interactions, and contribute kernel patches when required.
- Collaborate with hardware engineers for bring-up, debugging, and validation of new boards.
System Integration & Debugging :
- Perform kernel configuration, cross-compilation, and root filesystem customization.
- Use debugging tools such as GDB, JTAG, Lauterbach, ftrace, and perf to diagnose complex issues.
- Develop test plans and perform validation of embedded software modules.
Collaboration & Documentation :
- Work with multidisciplinary teams (hardware, firmware, QA) to deliver robust embedded solutions.
- Write clear and maintainable documentation, including design specs, API guides, and debug notes.
- Participate in code reviews and continuous integration activities to ensure software quality.
Required Skills & Experience :
- Bachelors or Masters degree in Electronics, Computer Engineering, or related field.
- 3- 8 years of hands-on experience in embedded software development.
- Strong proficiency in Embedded C and C++ (C++11/14/17 preferred).
- Deep understanding of Linux Kernel internals, device driver architecture, and hardwaresoftware interaction.
- Experience with cross-compilation, build systems (Make, CMake, Yocto, Buildroot), and source control (Git).
- Familiarity with ARM architecture, SoC bring-up, and RTOS environments is a plus.
- Strong debugging and analytical skills, with ability to work independently in fast-paced environments.
Preferred / Good-to-Have Skills :
- Exposure to Yocto Project, U-Boot, and bootloader customization.
- Knowledge of network stack, USB, or multimedia subsystem development.
- Experience with embedded Linux distributions or open-source contributions.
- Understanding of hardware schematics and signal analysis (oscilloscope, logic analyzer).
Did you find something suspicious?
Posted By
Posted in
Semiconductor/VLSI/EDA
Functional Area
Embedded / Kernel Development
Job Code
1568257
Interview Questions for you
View All