Embedded Software Engineer – Linux Kernel & Device Drivers (C/C++)

3 years

35 Lacs

Posted:3 days ago| Platform: GlassDoor logo

Apply

Work Mode

On-site

Job Type

Full Time

Job Description

Job Title:

Embedded Software Engineer – Linux Kernel & Device Drivers (C/C++)

Location: Hyderabad, India
Experience: 3-8 years

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:

  • Bachelor’s or Master’s 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 hardware–software 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).

Share your updated CV to vagdevi@semi-leaf.com

Job Types: Full-time, Permanent

Pay: Up to ₹3,500,000.00 per year

Work Location: In person

Mock Interview

Practice Video Interview with JobPe AI

Start Job-Specific Interview
cta

Start Your Job Search Today

Browse through a variety of job opportunities tailored to your skills and preferences. Filter by location, experience, salary, and more to find your perfect fit.

Job Application AI Bot

Job Application AI Bot

Apply to 20+ Portals in one click

Download Now

Download the Mobile App

Instantly access job listings, apply easily, and track applications.

coding practice

Enhance Your Skills

Practice coding challenges to boost your skills

Start Practicing Now

RecommendedJobs for You