Software Development Engineer

Santa Clara Valley (Cupertino), California, United States
Software and Services

Summary

Posted: Aug 1, 2019
Weekly Hours: 40
Role Number: 200086609
The Storage Systems team within Apple’s Core OS Organization is looking for a talented and inspired software development engineer in the disk management team. The team is responsible for storage device management in iOS and macOS. This position’s primary focus will be storage device management, arbitration, configuration and notification. Software developed and tested will have deep interaction with the OS kernel, disk devices, local and network filesystems, and other system software tools and utilities. You will work hands-on with a team of quality and development engineers on the development of new features, protocols, and hardware, as well as provide world-class support for existing deployments.

Key Qualifications

  • KEY QUALIFICATIONS
  • A solid understand of block-based disk devices in modern Operating Systems
  • Excellent understanding and ability in various programming languages (C/C++, Python, Bash, Ruby, LUA, Perl).
  • Should be able to use scripting ability to create new automation tests as needed.
  • QA experience and strong understanding of testing methodologies preferred.
  • Ability to write Test case and Test Plans from Engineering documentation.
  • Able to support Engineering team with triage, debugging and validation of software issues.
  • Comfortable in working with multi-functional teams to drive efficient bug resolution.
  • Ability to work independently and be dedicated in task completions.
  • Highly professional with the ability to deliver solid work on tight schedules.
  • Excellent communication skills, both oral and written.
  • Excellent organizational skills.
  • Must be detail oriented.

Description

You will join a dynamic team responsible for qualifying the latest Apple Products with a focus on file systems and storage, work hand in hand with the Software Development Engineering teams to support code changes, focusing on increasing the depth and breadth of related tests in both an automated and hands on manner. You will complete both documented and ad hoc testing to ensure high quality releases for all our products They will also be responsible for adding to automation and test documentation as new features are implemented.

Education & Experience

BS/MS in Computer Science or related field

Additional Requirements

  • Experience with storage architectures such as SATA, SCSI, NVMe, USB etc. Understand partition type, file system type, volumes, boot processes. Familiarity with Source Control Management with svn or git