Senior Software Engineer - Mass Storage
Job Description
Summary
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.
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
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)
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