Software Engineer

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


Posted: Nov 7, 2018
Weekly Hours: 40
Role Number: 200004481
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. JOB SUMMARY Apple's CoreOS organization is looking for a smart and experienced engineer to make our products bug-free by fixing complex issues. You will have the opportunity to have a major impact on Apple’s iOS, macOS, watchOS, and tvOS products by making them stable and fast. To be successful in this role, you have in-depth and broad system level understanding of processors and their peripheral devices to work with many teams inside/outside Apple. You are able to devise innovative ideas to improve troubleshooting processes. You should also be comfortable moving from high-level framework to low-level device driver to hardware/silicon during troubleshooting.

Key Qualifications

  • A genuine passion for fixing software and hardware issues.
  • Strong knowledge of processor architecture (CPU/Bus/subsystems/peripherals/clocks/power states).
  • Strong understanding of Intel processors, EFI, PCI, OS X/Unix.
  • Extensive knowledge of hardware platform (Power, DDR, storage, Battery, PCB, SMD).
  • Previous Experience with Kernal and OS Drivers
  • Understanding of on-chip debug and trace facilities. Exposure to hardware logic analyzers, oscilloscopes.
  • Solid C programming skills.
  • Understanding ARM/x86 assembly languages for debugging.
  • Previous experience with platform bring-up.
  • Demonstrated creative and critical thinking capabilities.
  • Excellent collaborative skills including written and verbal communication.


DESCRIPTION Work with multi-functional teams to diagnose and debug issues. Investigate and analyze issues spanning hardware and software interaction layers. Develop internal test plans to detect critical issues at early stage. Come up with ideas to reproduce problems that are hard to reproduce. Devise methods to improve debugging processes.

Education & Experience

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

Additional Requirements

  • Real hands-on experience with debugging major OEM’s technical issues
  • Solid understanding of clock/voltage control and how it relates to stability.
  • Ability to understand board schematics is a plus
  • A working knowledge of Python and Perl is a plus.