Role: Staff Software Engineer
Platform: macOS
Technologies: Swift, AppKit, SwiftUI, Combine, Core Data, AVFoundation, HLS
Overview Link to heading
Quik is GoPro’s video editing and media management app. It gives creators tools for organizing, editing, and exporting their footage. I was a Staff Software Engineer on the macOS team, responsible for leading the development of core playback, editing, and export features.
My Contributions Link to heading
-
Lead Engineer – Media Playback & Editing
- Owned the integration of the Quik playback and editing engine API.
- Implemented robust processing of Edit Decision Lists (EDL) to support Quik project workflows involving trims, reframing, effects, and music, ensuring edits were consistently applied across playback and export.
- Architected and implemented a new video exporter.
- Implemented remote video playback, using AVFoundation and HLS (HTTP Live Streaming).
-
Feature Development & Camera Support
- Collaborated with cross-functional teams to ship features supporting GoPro’s HERO and HERO13 Black cameras.
- Worked closely with Product, Design, and QA to align technical decisions with user and business goals.
-
Architecture & Implementation
- Applied an MVVM-I (Model–View–ViewModel–Interactor) architecture.
- Heavy use of Combine for reactive data flows and UI updates.
- Persisted media and user data locally using Core Data.
- Implemented UI with a mix of AppKit and SwiftUI, choosing technologies based on stability, performance, and suitability for each feature.
-
Team Leadership & Collaboration
- Assisted teammates in design, debugging, and implementation.
- Regularly participated in code reviews to maintain code quality.
- Stepped into the team lead role during a transition, managing blockers and representing the team in leadership discussions.
What My Colleagues Say Link to heading
“As a product manager, Robert was a stellar engineer to work with. He demonstrated not just a solid technical foundation, but also a clear sense of product and business priorities. He made product decisions easy because he always clearly communicated tradeoffs promptly within tickets and in meetings.
Robert was patient in answering my technical questions, open to exploring solutions, and always kept KPIs and performance in mind. He was often the go-to engineer for meaningful initiatives, complex work, or large refactors. He even took on the lead role when their lead was on vacation and executed seamlessly, balancing technical blockers with important business decisions.
Robert is a strong asset to any team.”