Embedded Software Engineer Linux Kernel & Device Drivers

3 - 8 years

0 Lacs

Posted:1 month ago| Platform: Shine logo

Apply

Work Mode

On-site

Job Type

Full Time

Job Description

As an Embedded Software Engineer with 3-8 years of experience, you will play a crucial role in developing low-level software for embedded systems. Your responsibilities will include: - Designing, developing, and debugging embedded software in C and C++ for Linux-based systems. - Developing and maintaining board support packages (BSPs), bootloaders, and low-level firmware. - Working on real-time performance optimization, memory management, and inter-process communication. You will also be involved in Linux Kernel & Device Driver Development by: - Developing and maintaining Linux kernel modules and device drivers for various peripherals (I2C, SPI, UART, GPIO, USB, PCIe, etc.). - Integrating and testing drivers on custom hardware platforms. - Analyzing kernel crashes, debugging hardware/software interactions, and contributing kernel patches when required. - Collaborating with hardware engineers for bring-up, debugging, and validation of new boards. In System Integration & Debugging, your tasks will include: - Performing kernel configuration, cross-compilation, and root filesystem customization. - Using debugging tools such as GDB, JTAG, Lauterbach, ftrace, and perf to diagnose complex issues. - Developing test plans and performing validation of embedded software modules. Your collaboration and documentation responsibilities will involve: - Working with multidisciplinary teams (hardware, firmware, QA) to deliver robust embedded solutions. - Writing clear and maintainable documentation, including design specs, API guides, and debug notes. - Participating in code reviews and continuous integration activities to ensure software quality. Qualifications required for this role include: - 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. 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). If you are interested in this position, please share your updated CV to vagdevi@semi-leaf.com. As an Embedded Software Engineer with 3-8 years of experience, you will play a crucial role in developing low-level software for embedded systems. Your responsibilities will include: - Designing, developing, and debugging embedded software in C and C++ for Linux-based systems. - Developing and maintaining board support packages (BSPs), bootloaders, and low-level firmware. - Working on real-time performance optimization, memory management, and inter-process communication. You will also be involved in Linux Kernel & Device Driver Development by: - Developing and maintaining Linux kernel modules and device drivers for various peripherals (I2C, SPI, UART, GPIO, USB, PCIe, etc.). - Integrating and testing drivers on custom hardware platforms. - Analyzing kernel crashes, debugging hardware/software interactions, and contributing kernel patches when required. - Collaborating with hardware engineers for bring-up, debugging, and validation of new boards. In System Integration & Debugging, your tasks will include: - Performing kernel configuration, cross-compilation, and root filesystem customization. - Using debugging tools such as GDB, JTAG, Lauterbach, ftrace, and perf to diagnose complex issues. - Developing test plans and performing validation of embedded software modules. Your collaboration and documentation responsibilities will involve: - Working with multidisciplinary teams (hardware, firmware, QA) to deliver robust embedded solutions. - Writing clear and maintainable documentation, including design specs, API guides, and debug notes. - Participating in code reviews and continuous integration activities to ensure software quality. Qualifications required for this role include: - 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 en

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