Software Engineer - Embedded Debug Tools

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

Summary

Posted: Oct 22, 2018
Weekly Hours: 40
Role Number: 113847189
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 especially talented SW engineer for the Embedded Debug Tools team. Apple uses its 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

Description

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