Principal Engineer-Software Development
Job Description
Location:- Bangalore
Experience:- 7+Years
As a member of the Data Center Solutions' Driver Development Team, you will
collaborate with experienced professionals to develop drivers and software
for state-of-the-art System-on-Chip (SoC) storage devices. Reporting to the
Manager of Driver Development, your responsibilities will include, but are
not limited to:
-
Designing, developing, and optimizing storage drivers for Linux or Windows
platforms.
-
Collaborating with hardware, software, and QA teams to deliver robust,
high-quality storage solutions.
-
Analyzing and resolving complex issues related to storage drivers in both
development and production environments.
-
Driving performance tuning, scalability improvements, and reliability
enhancements for storage subsystems.
-
Mentoring and providing technical guidance to junior engineers and peers.
-
Participating in architectural and code reviews, as well as technical
decision-making.
-
Authoring and maintaining comprehensive technical documentation.
-
Staying current with industry trends, emerging technologies, and
advancements in storage protocols, Linux kernel or Windows.
Requirements/Qualifications:
Qualifications/Experience:
-
Bachelor’s or Master’s degree in Computer Science, Engineering, or a
related field.
-
8–14 years of hands-on experience developing and maintaining storage
drivers for Linux or Windows environments.
Core Business Competencies:
-
Deep understanding of Linux kernel internals or Windows kernel internals
and driver architecture (WDM, KMDF, UMDF).
-
Expert-level proficiency in C/C++ programming and debugging.
-
Extensive experience with storage protocols such as SCSI, NVMe, PCIe,
SAS/SATA.
-
Proven ability to optimize driver performance, analyze I/O bottlenecks,
and use tools like ftrace, perf, crash, gdb, etc.
-
Strong knowledge of Windows storage virtualization and hypervisor–guest
I/O paths (e.g., Hyper-V).
-
Proven track record of delivering production-quality driver code for
enterprise environments.
-
Proven ability to optimize driver performance, analyze I/O bottlenecks,
and use tools like WinDbg, Windows Performance Analyzer, and other
debugging/profiling utilities.
-
Experience in design, development, code reviews, upstream contributions,
and collaborating with cross-functional teams (Firmware, QA).
-
Strong experience with version control systems (e.g., Git) and
collaborative development workflows.
-
Experience with certification test for drivers with Windows (WHQL)
-
Excellent analytical, troubleshooting, and problem-solving skills.
-
Strong communication skills and ability to work effectively in
cross-functional teams.
-
Experience contributing to open-source storage projects or the Linux
kernel.
-
Experience with performance profiling, tuning, and benchmarking of storage
subsystems.
-
Ability to work effectively within and across teams, including board
solutions, firmware/software development, and QA/Test automation.
-
Highly motivated, self-driven, and able to achieve goals independently.
-
Experience with automated testing frameworks and CI/CD pipelines for
driver validation.