The Runtime 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. Runtime Tools exist to understand how code runs, mapping the execution back to code and the system calls responsible. Memory is also an important and limited shared resource, making intelligent, developer-friendly tools critical for identifying optimization opportunities. Core responsibilities of the role include working with Apple's internal performance optimization engineers, Swift and Objective-C runtime teams, and frameworks teams to provide symbolication services and introspect memory usage across Apple's ecosystem.\\n\\nThis role is within Apple's Xcode group which encompasses more than just the IDE - providing tools like Instruments and CLI tools that allow dreamers, makers, and shapers to design, write, build, debug, profile, and deploy software for iOS, macOS, tvOS, and watchOS. Tools development is a uniquely rewarding area as the primary users are developers, making it an opportunity to influence and improve the productivity of developers and efficiency of Apps all across the world.\\n\\nThe Memory & Symbolication team primarily focuses on runtime analysis techniques to introspect running software and on-disk binaries to understand and improve them. 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.
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.\n\nWith 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.
5+ years macOS or iOS development experience\nExcellent verbal and written communication skills\nPassion for leading other engineers, developing skills, and providing clear and actionable feedback\nAbility to facilitate respectful, creative, and pragmatic, solution-focused technical discussions\nExpertise in C or C++, proficiency in Swift and/or Objective-C\nStrong operating systems background, understanding allocators, virtual memory, and process lifecycle\nDetail-oriented code review skills, reasoning through edge cases and security implications
Prior engineering management experience\nProblem solving and debugging skills with lldb, gdb, or other interactive tools\nExperience using AI technologies to assist in authoring, reviewing, and debugging code\nSkills in reverse engineering, exploit analysis, fuzzing, binary analysis tools helpful\nFamiliarity with macOS internals, mach APIs, sandboxing, and other security subsystems\nHistory of designing, implementing, or improving development tools\nExperience in computer science or a related field commensurate with a 4-year degree\n If possible, we'd love to see an example of your relevant work, such as a personal project or open source contribution\nIf you believe you have relevant transferable skills not listed on this posting, please share that information via a Cover Letter
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.
- Dice Id: 90733111
- Position Id: 5e77a4b8d7df54329acf3e8cb3aa9e12
- Posted 4 hours ago