SENIOR SOFTWARE ENGINEER, SPHERICAL & IMAGE PROCESSING

San Diego, CA, US

Job Description / Skills Required

About GoPro

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.

This position is designed for an awesome, fun, smart, hardworking, creative, friendly, responsible person in order to effectively help GoPro execute on company vision, create great products, and make a great working environment. Spherical Software Engineers are responsible for researching, designing, implementing, and testing of mobile software for our spherical camera products, educating other engineers; assisting technical leads and fellows with architectural decisions.

What You Will Do

Design and create mobile companion software for spherical cameras.
Design and implement video and image processing algorithms.
Participate in the software design process by asking questions, documenting, giving and receiving feedback, and applying your experience to improve the quality of designs.
Use visual design, information architecture, and interaction design to assist the writing of working software.
Port code from other platforms to run quickly and efficiently in mobile environments.
Test software via automated methods, including but not limited to writing and running unit tests, functional tests, integration tests, as well as testing using manual methods.
Skills We’re Stoked About

At least 5 years of professional experience (or equivalent), including an expert level understanding of image processing and 3D Graphics.
Experience with GPU technologies such as OpenGL, Vulkan, etc.
Expert level understanding of object oriented programming concepts and SOLID.
Expert level of understanding of threading and memory management.
Great communication skills.
Bachelors or Masters degree in Computer Science, Engineering, or Mathematics.
Expertise in Java and/or C++.
Experience with implementing automated tests, including unit, functional, and integration tests.
Bonus Skills We’re Stoked About

Audio, Photo, or Video editing and streaming.
Experience integrating native modules using Android NDK.
Experience with low-level Android device drivers and hardware.
Experience using Scrum or other Agile processes for software development.

Perks

Fully-stocked kitchen with snacks galore
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)
Discounted employee stock purchase plan
Competitive salary
401(K) matching
Discretionary Time Off
12 weeks paid Parental Leave for new Moms and Dads
Medical, dental, and vision insurance –premiums are fully paid for employees
Life insurance and disability benefits
Employee commuter shuttles
Artcles
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.