Principal Engineer/Architect

15 - 20 years

15 - 19 Lacs

Posted:1 day ago| Platform: Naukri logo

Apply

Work Mode

Work from Office

Job Type

Full Time

Job Description

A Principal Engineer must master both the art and science of low-level software engineering, combining a deep technical understanding of hardware and kernel architectures with the discipline to write maintainable, robust, and secure code.
  • Design, implement, and maintain PCIe device drivers for the Linux kernel
  • Collaborate with hardware engineers to define device requirements and troubleshoot issues
  • Optimize driver performance for reliability, low latency, and high throughput
  • Write and maintain technical documentation for driver software and APIs
  • Participate in code reviews, testing, and release processes
  • Contribute to upstream Linux kernel or open-source projects as needed
Technical Skills:
Linux Kernel Programming
  • 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.
C/C++ Programming
  • 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.
PCIe Protocol and Hardware Knowledge
  • 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

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