Manager, Memory & Symbolication Tools
We're looking for developers who are passionate about improving software! This is within the Xcode Runtime Tools team, and core interests should include optimization, reverse engineering, security, debugging, graph theory, and data visualization. You should have an interest in all levels of the system with the ability to connect OS concepts like virtual memory with language-level tools such as runtime reflection and Swift Concurrency.
With every new technology, framework, or product, there’s a need for tools to understand system behavior. That’s why it’s key you have a strong passion for learning! You'll need to work effectively with Apple teams across different engineering disciplines, anticipate problems early, and communicate ideas clearly. You should be able to drive development projects independently, working with other teams to innovate and develop simple solutions to complex problems.
Memory is a limited shared resource, and optimizing it is critical for Apps and services to maintain competitive advantage. Apple’s tools distill process VM and heap into a portable .memgraph format for later analysis, containing type information, address space layout, and connectivity of objects on the heap. For a more in-depth introduction to these tools, check out: Analyze Heap Memory
Symbolication is all about undoing compiler and linker optimizations, mapping runtime addresses back to the symbols and source code that generated them. Apple’s tools require a deep knowledge of the Mach-O binary format and familiarity with DWARF, and they must be resilient to malformed input as a critical part of diagnosing crashes and other fatal runtime conditions. To learn more, check out: Symbolication: Beyond the Basics
Minimum Qualifications
5+ years macOS and/or iOS development experience
Expertise in Swift and C, C++, or Objective-C
Excellent verbal and written communication skills
Passion for mentoring others and providing clear and actionable feedback
Ability to facilitate creative, pragmatic, solution-focused technical discussions
Strong operating systems understanding around process lifecycle and crashes
Detail-oriented coding skill, especially for edge cases and security implications
Experience in computer science or a related field commensurate with a 4-year degree
Preferred Qualifications
Prior engineering management experience
Problem solving and debugging skills with lldb, gdb, or other interactive tools
Experience using AI technologies in authoring, reviewing, and debugging code
History of designing, implementing, or improving development tools
Familiarity with reverse engineering, exploit analysis, or fuzzing tools
Understanding of macOS internals, Mach-O binaries, and Mach APIs
If possible, we’d love to see an example of your relevant work, such as a personal project or open source contribution
If you believe you have relevant transferable skills not listed on this posting, please share that information via a Cover Letter