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 applications.
Requirements
- 5+ years of experience programming in either C++ / Objective-C / Swift
- Hands-on experience using Swift structured concurrency (async/await, Tasks and Actors) and developing APIs with seamless Objective-C interoperability.
- Deep experience with Core Data or similar persistence technologies, including schema migrations and domain modeling.
- Advanced understanding of concurrency, and memory management in modern Apple environments.
- Proficiency with Apple’s development toolchain, including Xcode, Instruments, and Interface Builder
- Experience with unit testing, continuous integration, and engineering best practices.
- Knowledge of data migration strategies and performance tuning for I/O-bound systems.
Responsibilities
- Develop and enhance the data model, persistence infrastructure and shared frameworks used across Final Cut Pro applications.
- Contribute to the migration of legacy Objective-C systems to modern Swift applying best practices for maintainability and testability.
- Develop new capabilities using Swift structured concurrency and Grand Central Dispatch, ensuring thread safety and optimal performance.
- Collaborate closely with product and platform teams to deliver foundational improvements that enable seamless workflows across applications.
- 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.
- Familiarity with media or graphics applications, video editing tools, or creative software workflows.
- Experience working in large, legacy codebases with incremental modernization goals.
- Exposure to Micro Services Architecture or Distributed Systems