Secure Kernel Engineering Intern

Sydney, New South Wales, Australia
Software and Services

Summary

Posted:
Weekly Hours: 38
Role Number:200570852
The people here at Apple don’t just build products, we build the kind of wonder that revolutionise entire industries. Imagine what you could do here! 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, complete user experiences, you’ll continue to uphold and advance the excellence people expect from Apple devices! We are seeking for enthusiastic engineering students to work on Apple’s operating systems, including the kernel, runtime, and low-level system services. We work on core technology that powers Apple’s operating systems, including iOS, macOS, watchOS, tvOS, as well as subsystems such as the Secure Enclave Processor OS.

Description

Design and implementation of secure operating systems, including kernel, runtime, and system services. Work with multi-functional teams to bring up, test, debug, and verify software for new platforms and products. Contribute to security requirements and features for future hardware.

Minimum Qualifications

  • Currently pursuing Bachelor's or Master’s degree in computer science or related field
  • Background in operating systems development. This may include areas such as the kernel, low-level runtime, system services, driver frameworks, and component models.

Key Qualifications

Preferred Qualifications

  • Understanding of system construction principles in the context of a microkernel-based environment.
  • Understanding of computer architecture - how CPUs, memory, caches, and interrupts behave in response to code running at the instruction level.
  • Proficiency in languages commonly used in systems, such as C.
  • Habitual practice of good software engineering principles, such as using type systems,
  • identification and prevention of undefined behaviour, property-based testing, and formal verification. Keen eye for security flaws such as buffer overruns.
  • Strong communication and collaboration skills, working within an established team and with people across different teams

Education & Experience

Additional Requirements