Job Description / Skills Required
GoPro, Inc. is transforming the way people capture and share their lives. What began as an idea to help athletes self-document while engaged in sports has become a mobile storytelling solution that helps the world capture and share immersive content.
GoPro offers a fun and fast-paced work environment with passionate and motivated people who have a drive to learn, innovate and succeed.
Quik is a world-class video editing application on iOS (app of the year 2014) and Android (nominated for App of the Year 2017). It has achieved more than 40 million downloads to this day and helps anyone edit great videos on the fly.
The video backend team provides the low-level, cross-platform engines powering the Quik Video Editing application. Those tools assemble, filter and create video edits from a variety of user media. Those cross platform tools developed by the team are mainly used in the GoPro Quik App (available on iPhone and Android). These tools are also used on the desktop for development. Being part of this team means that you will be at the center of the action, working with artists to create the best video editing experience on mobile.
What You Will Do
Here is a (non exhaustive !) list of topics you will work on:
Video Engine Core : This cross platform engine provides real-time playback and export of complex scenes and video edits for all kind of media. This engine is built on top of OpenGL;
Audio Engine : An advanced audio engine with multiple effects (mixing, ducking, dynamic compression, etc) that provides real-time, sample-exact playback on iPhone and Android;
Media Processing Engine : To create amazing videos, Quik uses machine learning and computer vision algorithms to better understand media. We provide the engine to run those algorithms in a cross-platform, high-performance way, taking advantage of downtime and background processing whenever possible. This work is done in close collaboration with the Machine Learning Team.
Cross platform tools : We develop core cross platform tools for use across our stack. Those include a common dependency management and build system, testing infrastructure, and various tools and libraries (logging, file management, etc);
Backend support for Apple platforms : Collaborate with the iOS team in order to integrate backend frameworks and help them with compilation and debugging.
Skills We’re Stoked About
Our team sits at the core of the application, as we work closely with machine learning researchers, as well as front-end engineers to deliver powerful features to the end user.
The developers should be proficient in low level C, C++ and Objective C.
Experience in one or many of the following skills is also desirable :
Mobile development, low-level media handling on iOS (and Android);
Experience in releasing an App on the AppStore
Multi-threaded system architecture;
Image, video, or sound processing;
Experience with ffmpeg / video formats;
Experience with OpenGL / 3D rendering;
Bridge from C/C++/Objective to Swift, Cython, JNI and other native interface;
Desktop (Mac / Linux / Windows) development.
Live it. Eat it. Love it. – Two dedicated hours during your week to explore your passions and capture it with your GoPro;
Get your very own GoPro (Mounts and accessories included);
Competitive salary and bonus;
Fully stocked fridges with snacks galore;
Gym fee compensation;
Discounted employee stock purchase plan.
Get the full scoop about what's happening in software at GoPro!
GoPro Hosts Mentorkind's Breaking Through Unconcious Bias in Tech
Forge.JS Unleashes Rich VR Experiences
GoPro Open Sources Video Metadata Explained
VIDEO: GoPro Editing Media on the "Go" with ECS, Elastic Transcoder and Lifecycle Hooks on AWS
GoPro is an Equal Opportunity Employer.