Senior Software Engineer - Mass Storage
Cupertino, California, United States
Software and Services
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.