Embedded Software Engineer - Storage

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


Posted: Oct 11, 2018
Weekly Hours: 40
Role Number: 113620862
The Flash Storage Software team is looking for an experienced software engineer to develop embedded storage solutions for our current and future products. 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.

Key Qualifications

  • Proven C programmer with deep knowledge of data structures and algorithms
  • Experience writing embedded device drivers in RTOS environments
  • Knowledge of modern operating systems


Develop NAND flash management software Architect highly integrated storage solutions Deliver in short product cycles with high expectations of reliability Work with cross-functional teams to improve integration of storage subsystem and operating systems Debug storage-related issues across hardware, drivers, and applications

Education & Experience

BS in Computer Engineering/Computer Science or equivalent experience/skills

Additional Requirements

  • Preferred Experience:
  • Integration of NAND flash into embedded systems
  • ARM architecture and memory hierarchy
  • Familiarity with filesystems
  • C++ programming
  • Mac OS experience
  • Linux/Unix development environments
  • Embedded debug tools such as JTAG and logic analyzers