Storage Software Engineer

Santa Clara Valley (Cupertino), California, United States
Software and Services


Weekly Hours: 40
Role Number:200135661
Be part of the engineering team creating next-generation storage technologies for all Apple device platforms. We are looking for a Storage Software Engineer with working knowledge of device drivers, block storage stack and firmware, along with strong programming skills.

Key Qualifications

  • Expert level C programming/debugging skills a must. Knowledge of C++ basics a must.
  • Should be familiar with compilers, linkers, and source code management utilities. Knowledge of Xcode and git is a plus.
  • Experience with software debuggers (e.g. gdb) is a must. Knowledge of kernel debugging is a plus.
  • Should be proficient in Operating Systems and kernel architecture. Knowledge of OS security concepts is a plus.
  • Should be familiar with OS performance analysis and trouble shooting.
  • Should be familiar with storage and IO paradigms. Deep knowledge of any storage protocol ( like SCSI, SATA, NVMe ) is a plus.


Maintain device drivers, block storage stack and user level frameworks for storage technologies in iOS and MacOS. Develop new features/device drivers/firmware for new storage technologies. Design, code, and maintain firmware updaters, test tools, and basic command line and GUI applications relevant to storage technologies. Mac/iOS system bring-up and system-level debug of issues with new chipsets and hardware devices. Make enhancements to the Darwin kernel and other related software stacks (e.g. USB) as necessary.

Education & Experience

Bachelor’s degree in CS/CE/EE ( or equivalent, or related field ). MS Preferred.

Additional Requirements