Senior Software Engineer - Mass Storage
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.
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
- At least 5 years of relevant experience
- Expert level C/C++ programming skills and 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)
- Bachelor's degree in CS/CE/EE (or equivalent, or related field)
- 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
Apple is an equal opportunity employer that is committed to inclusion and diversity. We seek to promote 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.