Core OS Device Driver/Firmware Engineer
Santa Clara Valley (Cupertino), California, United States
Software and Services
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? The Core Operating Systems 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. By crafting these distinct, holistic user experiences, you’ll continue to uphold and advance the perfection people expect from Apple devices. Our environment fosters product innovation, rapid product iteration, and values initiative. The Core IO team is responsible for firmware and device drivers for Thunderbolt and USB-C controllers. We are looking for talented individuals who have a genuine interest in writing firmware and creating device drivers.
- Experience with writing and debugging complex firmware or drivers
- Experience with firmware development and/or device driver development
- Knowledge of C and C++
- Demonstrated creative, critical thinking, and troubleshooting skills
- Highly professional, with the ability to deliver solid work on tight schedules
- Outstanding written and verbal communication skills
- Excellent collaborative skills
Working closely with multiple cross functional teams and vendors, you would be responsible for developing new features, debugging issues found by customers and Quality Assurance, schematic and code reviews, bringing up new hardware, and ensuring smooth interoperability.
Education & Experience
BS in Computer Science/Computer Engineering or equivalent experience/skills
- Preferred Experience:
- USB Power Delivery
- USB experience
- Thunderbolt host or device experience
- Display Port experience
- PCIe experience
- Familiarity with iOS/macOS toolchain
- Development experience in IOKit/macOS/iOS
- Experience with logic analyzers and oscilloscopes
- Knowledge of using a software/firmware debugger (e.g. LLDB/Xcode, gdb, Kiel µVision, Visual Studio, etc).