Embedded Software Engineer - Linux Kernel & Device Driver

3 - 8 years

0 Lacs

Posted:1 week ago| Platform: Shine logo

Apply

Work Mode

On-site

Job Type

Full Time

Job Description

Role Overview: You will be responsible for designing, developing, and debugging embedded software in C and C++ for Linux-based systems. Your role will involve working closely with hardware and firmware teams to optimize drivers, kernel modules, and board support packages (BSPs) for next-generation platforms. Additionally, you will be expected to perform system integration, debugging, and collaborate with multidisciplinary teams to deliver robust embedded solutions. Key Responsibilities: - 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. - Develop and maintain Linux kernel modules and device drivers for peripherals like 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. - 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. - Work with multidisciplinary teams 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. Qualification Required: - 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 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 the ability to work independently in fast-paced environments. Additional Details of the Company: The company values collaboration and encourages working with hardware engineers for bring-up, debugging, and validation of new boards. You will also be expected to participate in code reviews and continuous integration activities to ensure software quality.,

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 C Skills

Practice C coding challenges to boost your skills

Start Practicing C Now

RecommendedJobs for You