Manager, Memory & Symbolication Tools
Apple
Cupertino, CA · Onsite · Full Time
Posted
Job description
What can you learn about a suspended or crashed program? That's the mission of the Memory & Symbolication Tools team, building tools for introspecting program state on Apple platforms. Working at the common Darwin OS layers beneath these platforms, the team owns tools like leaks , heap , vmmap , sample , and symbols , along with symbolication frameworks and APIs. These are foundational to OS services and profiling tools that report, triage, and fix memory bugs, and they must be efficient, robust, and secure. Symbolication is critical to billions of devices daily, and these tools are used by developers worldwide. This specific role is for a highly technical manager to lead a small team, working alongside other engineering experts to support new hardware and software optimizations. In addition, you'll help shape the team's vision and bring better intelligence and visualization to these tools. It's a detail-oriented engineering leader role, where you'd be authoring and reviewing code on a daily basis. Description 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…