Storage Software Engineer

    • Cupertino, CA


Posted: Mar 5, 2020

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

Working at Apple means doing more than you ever thought possible and having more impact than you ever imagined.

Apple Company Image

Back to top