M

Microchip Technology

Provides embedded hardware, software, tools

Principal Engineer-Software Development

Systems Software EngineeringConfirmed live in the last 24 hours
Full-timeBengaluru, Karnataka, IndiaNo salary listed

About the Job

Requirements

  • 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.
  • 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.

Responsibilities

  • 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.

About the Company

Microchip Technology

Provides embedded hardware, software, tools

Microchip Technology offers a range of embedded system solutions that cover hardware, software, and development tools. Its products include microcontrollers, FPGAs, silicon carbide devices, and analog components, all designed to be configured and used with accompanying software and toolchains to build embedded applications. The company differentiates itself with a broad product portfolio, strong education and support programs, and a direct B2B sales approach that helps customers design and implement systems efficiently. Its goal is to be a leading provider of end-to-end embedded solutions, generating revenue from hardware, software licenses, development tools, and related services.

Company size
10,001+
Company stage
IPO
Headquarters
Chandler, AZ
Founded
1989

Recently Posted Jobs

Explore more opportunities at Microchip Technology

See more jobs