Senior Software Engineer - Mass Storage

Cupertino, California, United States
Software and Services

Summary

Posted:
Role Number:200565888
Apple is where individual imaginations gather together, committing to the values that lead to great work. Every new product we build, service we create, or Apple Store experience we deliver is the result of us making each other’s ideas stronger. That happens because every one of us shares a belief that we can make something wonderful and share it with the world, changing lives for the better. It’s the diversity of our people and their thinking that inspires the innovation that runs through everything we do. When we bring everybody in, we can do the best work of our lives. Here, you’ll do more than join something — you’ll add something. Be a leading member of the engineering team creating next-generation storage technologies for all Apple platforms! We are looking for a Senior Storage Software Engineer and Hands-on Architect with an extensive background in Operating Systems, storage technologies, block storage stacks, IO performance/characterization, strong programming skills and experience leading design and development efforts.

Description

In this role, you develop system level storage architecture solutions, adding functionality and improving performance across many product lines, from the application layer down to the low-level device drivers. Responsibilities include: Debugging and analyzing system performance issues on internal and external storage devices Drive company-wide storage initiatives Architect new driver stacks and frameworks Support cross functional teams and platform developers Develop and maintain device drivers for storage on Apple OSs Make enhancements to the Darwin kernel and other related software stacks as necessary Experience presenting to senior management and partner teams

Minimum Qualifications

  • Bachelor's degree in CS/CE/EE ( or equivalent, or related field )
  • At least 5 years of relevant experience
  • Expert level C/C++ programming skills
  • Experience with multi-threaded programming
  • Experience with software debuggers (e.g. gdb, lldb) and tracing tools ( e.g. dtrace )
  • Proficient in Operating Systems and kernel architecture
  • Expert understanding of storage technologies and protocols (e.g. NVMe, SCSI, AHCI)

Key Qualifications

Preferred Qualifications

  • MS in CS/CS/EE or equivalent
  • Familiarity with low level bus protocols such as PCIe, USB, and Fibre Channel
  • Experience using bus protocol analyzers

Education & Experience

Additional Requirements

Pay & Benefits

  • Apple is an equal opportunity employer that is committed to inclusion and diversity. We take affirmative action to ensure equal opportunity for all applicants without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or other legally protected characteristics. Learn more about your EEO rights as an applicant.