15 days old

Software Development Engineer - Storage

Cupertino, CA
  • Job Code
  • Jobs Rated

Are you a big-picture thinker who loves setting ambitious goals? Do you have a passion for understanding how each line of code affects all the others? In the Core Operating Systems group, you'll ensure the OS is inseparable from each device's identity as a whole. That's because this group is committed to building fully integrated operating systems that combine hardware, software, and apps into a single Apple experience. Your dedication to cross-disciplinary collaboration will help develop groundbreaking technologies, such as iOS, macOS, watchOS, and tvOS. By crafting these distinct, holistic user experiences, you'll continue to uphold and advance the excellence people expect from Apple devices

The Storage Systems team within Apple's Core OS Organization is looking for a talented and inspired software development engineer in the disk management team. The team is responsible for storage device management in iOS and macOS. This position's primary focus will be storage device management, arbitration, configuration and notification. Software developed and tested will have deep interaction with the OS kernel, disk devices, local and network filesystems, and other system software tools and utilities. You will work hands-on with teams of development and quality engineers on the development of new features, protocols, and hardware, as well as provide world-class support for existing deployments

Key Qualifications

  • OS kernel mode and low level user mode programming experience, good knowledge on Operating Systems, computer architecture
  • Good understanding of block-based disk devices as well as filesystems in modern Operating Systems
  • Proficiency understanding and ability in programming languages in C and C++ or obj-C. Capable of building scripts using bash/python/perl. Knowledge about x86/ARM assembly is a plus
  • Capable of using gdb or lldb to do the debug, core file analysis, and triaging
  • Comfortable in working with cross-functional teams to drive efficient bug resolution
  • Ability to work independently and be proactive in task completions
  • Highly professional with the ability to deliver solid work on tight schedules
  • Excellent communication skills, both oral and written
  • Excellent organizational skills
  • Must be detail oriented


Work with a highly skilled engineering team in the design, implementation and support of storage devices related technology in Mac and iOS platforms.
Performance analysis and debugging.
Triage kernel, driver, and user application issues from internal engineering teams.
Develop new tools to automate the triage and identification of software bugs

Education & Experience

BS/MS in Computer Science or related field

Additional Requirements

  • Preferred Experience:
  • Understand disk and partitions, partition types, file system types, disk RAID, familiar with the boot sequence from EFI to desktop, understand things like resource access arbitrations from file open/close to device access file system mount unmount, user privileges, and have a good knowledge about end to end data IO path from file read write to disk IO
  • Experience with file systems such as HFS+, FAT, NTFS etc. Understanding of storage interfaces including PCIe, NVMe, AHCI, SATA, SCSI, USB,
  • Familiarity with Source Control Management with svn or git

Jobs Rated Reports for Software Developer

Posted: 2020-02-06 Expires: 2020-03-06

Before you go...

Our free job seeker tools include alerts for new jobs, saving your favorites, optimized job matching, and more! Just enter your email below.

Share this job:

Software Development Engineer - Storage

Apple, Inc.
Cupertino, CA

Join us to start saving your Favorite Jobs!

Sign In Create Account
Software Developer
11th2018 - Software Developer
Overall Rating: 11/220
Median Salary: $102,280

Work Environment
Very Low
Very Good
Powered ByCareerCast