Core OS Accessories Software Engineer


Austin, Texas, USA

full time

15 Apr 2020


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, 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 Core OS Accessories Team is looking for a Software Engineer to focus on iOS/macOS/tvOS/watchOS software support of wired and wireless accessories. In this role, you will be working on developing both existing and future Apple products. We create drivers used on iOS/macOS/tvOS/watchOS devices, as well as develop protocols used to communicate with 1st, 2nd, and 3rd party accessories (including Smart Connector accessories, Lightning accessories, Chargers, CarPlay, AirPods, HomeKit, AirPlay, and other 3rd party accessories). There is a wide breadth to this role; our team's stack has components in both userland and kernel. We are responsible for many aspects of accessory behavior, such as connectivity, charging, security, and more. The team is very fast paced and the right engineer has vast opportunities to learn.

Key Qualifications

  • Programming Languages: C/C++ (Objective-C a plus)
  • Device driver programming.
  • Operating System Experience: iOS, macOS, NetBSD, Linux.
  • Strong software debugging skills.
  • Solid understanding of protocols.

Develop wired and wireless accessory features, protocols, and technologies.
Document code and create workable specifications including quantifiable system performance characteristics.
Ensure products are instrumented to evaluate field system equivalence.
Tool development for feature simulation, verification and system-level troubleshooting.
Work with external technology partners to design and launch accessories and technology platforms.

Education & Experience
BS in Computer Engineering / Computer Science / Electrical Engineering or equivalent experience/skills

Additional Requirements

  • Additional Desired Experience:
  • Protocol design and implementation.
  • The ideal candidate will have related experience in consumer products and/or other product development.
  • Ability to use an oscilloscope and logic analyzer.
  • Strong electrical system understanding
  • Board bring-up.
  • Device Drivers: any of UART / SPI / SPMI / I2C / USB is a plus

For more jobs like this subscribe to the weekly newsletter or follow C++ JOBS on Facebook, Linkedin and Twitter for frequent social updates.