Software Development Engineer

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

Summary

Posted: Sep 18, 2018
Weekly Hours: 40
Role Number: 114003859
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 ensuring 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. 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

  • 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 cross-functional teams to drive efficient bug resolution.
  • Ability to work independently and be proactive 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. The successful candidate 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