Apple's Memory Tools team is looking for developers with a passion for memory and resource optimization to enhance, adapt, and innovate in creating tools for the next generation of software and hardware on Apple's platforms. Memory is an important and limited shared resource, making intelligent, developer-friendly tools critical for identifying optimization opportunities. Core responsibilities include working with Apple performance optimization engineers, Swift and Objective-C runtime teams, and frameworks teams to introspect memory usage across Apple's ecosystem. This role is within Apple's Xcode group, making tools that allow dreamers, makers, and shapers to design, write, build, debug, profile, and deploy software for all Apple platforms — macOS, iOS, iPadOS, tvOS, watchOS, and visionOS. Tools development is a uniquely rewarding area as the software's users are other developers, making it an opportunity to influence and improve the productivity of developers all across the world who make life-changing ideas a reality. The Memory Tools team primarily focuses on creating profiling and optimization tools, using runtime analysis techniques to instrument and introspect software to understand and improve it. The team is responsible for command-line tools like `leaks`, `heap`, `vmmap`, `sample`, `atos`, `symbols`, symbolication services and frameworks, Xcode's Memory Graph Debugger, and runtime libraries that improve the built-in debugging experience on Apple's platforms. These tools and services for process analysis are used on over a billion devices and by developers worldwide who make life-changing ideas a reality. DESCRIPTION We're looking for developers who are passionate about making software better! Core interests should include areas such as profiling, optimization, reverse engineering, debugging, security, 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 Apple releases there's a need for tools to help expose and explain important system behaviors. As a result, it's key that you have a strong passion for learning! You'll need to work effectively with Apple teams of different engineering disciplines, anticipate problems early, and communicate ideas clearly. You should be able to drive development projects independently, collaborating with other teams to innovate in solving engineering challenges, and iteratively develop solutions to novel and complex problems.
Stand Out From the Crowd
Upload your resume and get instant feedback on how well it matches this job.
Job Type
Full-time
Career Level
Mid Level
Number of Employees
5,001-10,000 employees