Apple is looking to modernize the persistence systems for Final Cut Pro, their flagship professional video editing suite, to handle multi-gigabyte projects with real-time responsiveness and enable seamless creative workflows across Apple's creative suite.
Requirements
- 5+ years of experience in application or platform-level development, with a focus on persistence frameworks and system design.
- Deep experience with Core Data or similar persistence technologies, including schema migrations and domain modeling.
- Mastery of Swift concurrency patterns and seamless Objective-C interoperability.
- Solid understanding of multi-threaded programming, synchronization, and memory management in modern Apple environments.
- Experience with unit testing, continuous integration, and engineering best practices.
- Familiarity with media applications, graphics applications, video editing tools, or creative software workflows.
- Understanding of Apple frameworks such as AVFoundation, Core Animation, AppKit/UIKit.
Responsibilities
- Develop and enhance the data model & persistence infrastructure in Final Cut Pro.
- Contribute to the migration of legacy Objective-C systems to modern Swift using best practices for maintainability and testability.
- Implement features and improvements using Swift’s structured concurrency model and Grand Central Dispatch, with attention to thread safety and performance.
- Collaborate closely with product and platform teams to deliver foundational improvements that enable seamless workflows across Apple’s creative suite.
- Identify and resolve complex bottlenecks in multi-threaded, latency-sensitive environments processing large media files.
- Write clean, testable, and well-documented code following modern architectural principles.
- Participate in code reviews, design discussions and technical investigations while contributing to engineering excellence standards
Other
- Strong communication skills, with the ability to articulate technical ideas clearly and work collaboratively in a multi-functional team.
- BS or MS in Computer Science, Engineering, or equivalent experience.
- Experience working in large, legacy codebases with incremental modernization goals.
- Experience with Micro Services Architecture and Distributed Systems.
- Knowledge of data migration strategies and performance tuning for I/O-bound systems.