Kernel Engineer

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


Weekly Hours: 40
Role Number:200278030
Are you a big-picture problem solver 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! The Kernel & Runtime team within Apple's Core OS organization is responsible for delivery of a high-quality and performant kernel and low-level runtime into just about every one of Apple’s products. Our software runs on your wrist as part of watchOS; in your pocket with iOS; on your desk in macOS; in your living room with tvOS; on the devices owned by your friends and family; and hundreds of millions of devices beyond those. This position requires a solid understanding of operating systems fundamentals, including kernel design and implementation. We deal in all of the traditional kernel subsystems, e.g. IPC, process fork/exec, virtual memory, scheduling, etc, and also serve as expert system sleuths up and down the entire Apple stack. Our company is one of the last vertically integrated systems shops remaining, and as such our engineers have the unique opportunity to roam the system freely, from iOS silicon design all the way up to Apps and the cloud.

Key Qualifications

  • A genuine passion for operating system technology
  • Deep and current understanding of the C programming language
  • In-depth knowledge of kernel internals and operating system fundamentals like threading, synchronization primitives, inter-process communication, and process lifecycle
  • Familiarity with modern processor architecture (e.g. memory hierarchy, multicore, multithreading, etc)
  • Experience with UNIX systems
  • Highly professional with ability to multitask and deliver solid work on tight schedules
  • Demonstrated creative and critical thinking capabilities and troubleshooting skills
  • - Excellent collaborative skills, including written and verbal communication


- Work with a highly skilled engineering team to design and implement new features and maintain kernel and runtime technologies - Participation in all phases of software development cycle: from problem definition and design, through implementation, debugging and testing - Diagnose and resolve customer-reported issue - Work with cross functional teams to support developer and product requirements

Education & Experience

B.S. in Computer Science or equivalent experience

Additional Requirements

  • - Knowledge of assembly programming
  • - Knowledge of Swift or Objective-C
  • - Experience with scripting language
  • - Experience with lldb and DTrace
  • - Involvement in open source technologies and development communities such as Darwin, FreeBSD, Linux, etc