About this role
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.
By crafting these distinct, holistic user experiences, you'll continue to uphold and advance the
excellence people expect from Apple devices!
In Core I/O, we're revolutionizing connectivity by pushing the boundaries of I/O technology to
deliver incredibly fast data transfer, seamless device integration, and the magical user
experiences our customers love across Mac, iPad, and beyond.
Weʼre looking for a motivated engineer with excellent programming, problem solving, and
communication skills to join our experienced team. As a USB4 and Thunderbolt software
engineer, you'll be at the forefront of implementing industry standard protocols that power
everything from pro video workflows to everyday file transfers. Join the team responsible for
shipping code that runs on nearly every Apple product, and collaborate with brilliant engineers
to unlock the potential of the USB4 ecosystem.
Minimum Qualifications
Strong expertise in C and C++ programming languages.
Strong understanding of computer science fundamentals, with expertise in operating
systems and device driver models.
Bachelors degree in Computer Science/Computer Engineering, or equivalent
experience/skills.
Preferred Qualifications
Expertise in Thunderbolt and/or USB4.
Expertise in related technologies, e.g. USB, USB-C, USB-PD, DisplayPort, and/or PCI.
2+ years of relevant industry experience in software development.
Development experience in IOKit/macOS/iOS, or equivalent OS driver environment.
Experience debugging and contributing to complex technology stacks.
Experience using logic analyzers, protocol analyzers, or oscilloscopes for data collection and
debugging.
Self-motivated and able to work independently.