Storage Software Engineer - App Performance
Santa Clara Valley (Cupertino), California, United States
Software and Services
Are you a big-picture thinker who loves setting ambitious goals? Do you have a passion for understanding how each line of code affects all the others? In the Core Operating Systems group, you’ll ensure the OS is inseparable from each device’s identity as a whole. That’s because this group is committed to building fully integrated operating systems that combine hardware, software, and apps into a single Apple experience. Your dedication to cross-disciplinary collaboration will help develop groundbreaking technologies, such as iOS, macOS, watchOS, and tvOS. By crafting these distinct, holistic user experiences, you’ll continue to uphold and advance the excellence people expect from Apple devices. Be part of the engineering team building next-generation storage technologies for all Apple device platforms. We are looking for a Storage Software Engineer with working knowledge of Operating Systems, block storage layer, Application IO performance/Characterization and strong programming skills.
- 5+ years of relevant experience.
- Expert level C/C++ programming/debugging skills a requirement.
- Familiar with compilers, linkers, and source code management utilities. Knowledge of Xcode is a plus.
- Experience with software debuggers (e.g. gdb, lldb) is a requirement. Knowledge of kernel debugging is a plus.
- Should be proficient in Operating Systems and kernel architecture.
- Should be familiar with operating system tracing mechanisms like dtrace. Familiarity with macOS/iOS Application IO models and characterization from user level thru kernel to storage is a plus.
- Good understanding of SQL databases and underlying IO that impact kernel and storage.
- Experience with data visualization tools like Tableau is a plus. Ability to analyze and derive actionable insights from complex datasets.
Identify storage IO inefficiencies and regressions due to Applications/kernel/firmware. Maintain and enhance infrastructure used for data collection from internal and field units and automate analysis. Use data visualization tools to analyze and present actionable insights to senior management. Work with MacOS and iOS performance teams to track Application IO regressions and work with various 1st and 3rd party App teams to resolve. Make enhancements to the Darwin kernel and other related software stacks as necessary.
Education & Experience
Bachelor’s degree in CS/CE/EE ( or equivalent, or related field ). MS Preferred.