Software Engineer - Embedded Debug Tools

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


Posted: Nov 30, 2018
Weekly Hours: 40
Role Number: 113572456
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 software team is looking for an exceptionally talented SW engineer for the Embedded Debug Tools team. Apple uses it’s own internally developed SWD/JTAG solution and SW tools for all iOS product debugging; working on this core technology you will have the opportunity to have a major impact on the success of Apple's iOS based products. You will be working on developing this debug tool and making it a world class debugger.

Key Qualifications

  • Knowledge of ARM's DAP architecture
  • Experience with SWD/JTAG and other debuggers
  • Proficient in Python and C/C++
  • Experience with LLDB and/or GDB
  • Experience developing debug tools
  • Demonstrated creative, critical thinking and troubleshooting skills
  • Highly professional, with the ability to deliver solid work on tight schedules
  • Excellent collaborative skills
  • Outstanding written and verbal communication


Systems level SW development (Daemons, Networking, Multi-threading) of Apple’s debugger Debugging and solving problems from SW down to HW and SoC Work with cross-functional teams to support product requirements for Apple’s SWD/JTAG HW and SW debug tools

Education & Experience

BS in Computer Science or equivalent experience/skills

Additional Requirements

  • Additional Success Factors:
  • Mac OS X exposure (end user, administrator, developer)
  • Experience with operating system kernels (MacOS X, Linux, BSD, UNIX, Windows)
  • Experience with common embedded SOC architectures
  • Knowledge of ARM's DAP architecture
  • Ability to understand board schematics
  • Experience with socket based network programming