Job Description
Summary
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
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