Principal Engineer – Linux device driver development

0 - 10 years

20 - 45 Lacs

Posted:1 week ago| Platform: Indeed logo

Apply

Work Mode

On-site

Job Type

Full Time

Job Description

12+ years of experience with Linux device driver development, preferably with a focus on PCIe devices.

Open Source Contribution: Experience contributing to the Linux kernel or relevant open-source projects is highly valued.

Expertise in C Language: Mastery of C for low-level, performance-sensitive code, including bitwise operations, memory management, pointer arithmetic, and data structure optimization.

Familiarity with C++: Advantageous for certain projects, though most Linux kernel drivers are written in C. Understanding object-oriented concepts in a C context is also helpful.

Deep Understanding of Linux Kernel Architecture: Familiarity with kernel space versus user space, kernel modules, device driver concepts, and memory management.

Kernel Module Development: Experience writing loadable kernel modules (LKMs) and integrating them with the Linux build system.

Debugging and Profiling: Proficiency with debugging tools such as kgdb, ftrace, perf, dmesg, and sysfs interfaces to troubleshoot and optimize drivers.

Comprehensive Understanding of PCIe Specification: Knowledge of the PCIe standard, including enumeration, configuration space, BARs (Base Address Registers), MSI/MSI-X interrupts, and bus mastering.

Device Datasheet Interpretation: Ability to read and interpret PCIe device hardware documentation, including register maps, timing requirements, and signaling protocols.

Interfacing with Firmware/BIOS: Understanding how PCIe devices are initialized during system boot, and the mechanisms by which firmware and BIOS communicate with hardware.

Device Driver Development Lifecycle

Probing and Initialization: Experience writing probe() and remove() functions to handle device enumeration and teardown.

Resource Management: Skills in managing memory and hardware resources, including DMA (Direct Memory Access), I/O regions, and interrupt lines.

Interrupt Handling: Ability to write efficient and robust interrupt handlers, using mechanisms such as bottom halves, tasklets, work queues, and threaded interrupts.

Power Management: Familiarity with runtime and system power management interfaces, including suspend/resume operations.

Concurrency and Synchronization: Understanding race conditions, atomic operations, spinlocks, mutexes, and semaphores in a preemptible kernel environment.

Bachelor’s or Master’s Degree: In Computer Science, Electrical or Computer Engineering, or a related technical field.

Desirable Additional Qualifications:

Knowledge of Other Operating Systems: Familiarity with Windows, FreeBSD or RTOS driver models for cross-platform development.

Experience with FPGA, SoC, or Custom Hardware: Useful for teams working on nonstandard PCIe endpoints or accelerators.

Performance Tuning: Skills in profiling and optimizing for low-latency, high-throughput data paths.

Community Engagement: Involvement in Linux kernel mailing lists, conferences (such as Linux Plumbers Conference), or speaking at industry events.

Note: Please send Cv only, who can attend the interview weekdays, with short notice period (max 15 days only)

Job Location: Bangalore (Work from office)

Job Types: Full-time, Permanent

Pay: ₹2,083,594.88 - ₹4,528,981.39 per year

Benefits:

  • Provident Fund

Experience:

  • C: 10 years (Required)
  • Linux device driver : 10 years (Required)

Location:

  • Bangalore, Karnataka (Required)

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