Flash Management Simulation Engineer

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

Summary

Posted: Jul 18, 2018
Weekly Hours: 40
Role Number: 113614580
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 Flash Storage Software team is looking an engineer to build simulation infrastructure and whitebox tests. This will involve collaborating with the FTL firmware team to identify areas that need coverage and understand the internal features of NAND flash management software, so that you can modify and enhance firmware simulators on a large compute cluster.

Key Qualifications

  • Solid C programmer with emphasis on data structures & algorithms
  • Proficient with Python and database programming
  • Experience with non-volatile storage systems (interface protocols, error modes, performance characterization)

Description

Develop NAND flash management simulator features Develop whitebox tests for FTL firmware Enhance cluster compute scheduler and results database Rapidly adapt to new priorities and product definition changes to ensure the highest quality for customer use cases

Education & Experience

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

Additional Requirements

  • Basic web deployment
  • Embedded device drivers in RTOS environments
  • Familiarity with filesystems
  • macOS development
  • Distributed compute technologies (Hadoop, Spark, etc)