GoPro logo

Senior Android Software Engineer

GoPro
Full-time
Remote friendly
Worldwide
Senior Android Software Engineer

Location: Remote USA - This role can be performed anywhere from the United States. 
GoPro requires that all onsite visitors and workers be fully vaccinated for COVID-19. Vaccination is not required to perform this role, but you will not be permitted to visit GoPro’s office locations if you are unvaccinated. An exception to this rule may be made if you qualify for an approved accommodation.

About GoPro

GoPro makes it easy for people to celebrate and share experiences. We believe life is more meaningful when shared. We build cameras, software, and accessories that help the world share itself in immersive and exciting ways.

GoPro is a global movement whose business is driven by shared experiences. We celebrate diversity. We practice inclusion. We foster belonging. We demand equity. And we share the experiences of individuals and communities who also hold these values as core to who they are. From Bucharest to Munich, San Diego and Silicon Valley to Shenzhen, we are dedicated to building a company that reflects and honors the diverse global communities where we live, work, and play.

About the Position

You are awesome, fun, smart, hardworking, creative, friendly, responsible person eager to effectively help GoPro execute on a company vision, to create great products, and make a great working environment. Our Android Software Engineers are responsible for developing, implementing, and testing of software on Android devices that are part of an interconnected ecosystem connecting cameras, cloud, phones, and people.

What You Will Do

  • Writing software in Kotlin and Java for Android-based phones and tablets.
  • Participating in software design process by asking questions, "poking holes," offering suggestions, and crafting solutions.
  • Following industry best practices when implementing software, especially around areas surrounding security and privacy.
  • Using visual design, information architecture, and interaction design to assist the writing of working and usable software.
  • Checking code into version control according to company version control policy.
  • Keeping up on changes and advances in Android, common devices, and mobile technology.
  • Working with various types of databases, including key-value, SQL, and "NoSQL".
  • Refactoring old code so it runs faster and more efficiently.
  • Helping to review code and testing software via automated methods, including but not limited to writing and running unit tests, functional tests, integration tests, as well as manual methods.
 
Skills We’re Excited About

  • At least 5 years of professional experience (or equivalent) programming with Java and/or Kotlin.
  • Understanding of Android OS, Android Studio, and Android application development.
  • Expertise developing native Android Applications in Java and/or Kotlin.
  • Bachelor’s degree in Computer Science, or equivalent studies, experience and certification.
  • Strong Computer Science fundamentals: data structures, algorithms, software methodology.
  • Familiarity with JSON, REST APIs, RxJava, and reactive style programming.
  • Familiarity with view models, and dependency injection / dagger.
  • Demonstrated knowledge of MVVM, MVC, OOP, memory management and threading.
  • Fundamentals of Wi-Fi and Bluetooth connectivity, TCP/IP network and HTTP protocols.
  • Proven successful track record showing an aptitude for engineering and product sense.
  • Strong communication (written and verbal) skills.
  • Self-motivated Ability to quickly learn and apply new technologies and methodologies.
  • Possess the passion to design, build and polish innovative applications.
  • Experience implementing automated tests, including unit, functional, and integration tests.
  • Experience with Git, continuous integration, and automated build tools.
 
Bonus Points For

  • Experience with Android’s lower level services and permission models specifically around wireless and USB connectivity, storage, and video/multimedia services.
  • OS: Linux, Chrome OS, Tizen, iOS, OSX, Windows, RTOS.
  • Languages: C/C++, Python, JavaScript, HTML, Objective-C.
  • Experience with Android NDK, and JNDI
  • Protocols: TCP/IP, UDP, HTTP, HLS, RTMP, BLE and Bluetooth Classic.
  • Familiarity with handling MP4 and JPG content within an application.
  • General experience with Audio, Photo, and Video editing and streaming.
  • Security, encryption and authentication protocols such as OAuth, SSL, TLS, PKI, AES.
  • Strong debugging, and analytics instrumentation skills.
  • Experience with Jira, Jenkins, and Confluence.
  • Experience with Agile software development: Scrum, and Kanban.
 
GoPro Highlights

  • Get your very own GoPro camera + gear
  • Medical, dental, and vision insurance – premiums are 100% paid for employees, 80% paid for dependents
  • Life insurance and disability benefits
  • Generous time off policy
  • 12 weeks paid parental leave for new parents
  • Pre-tax and Roth 401(k) options
  • Discounted employee stock purchase plan (ESPP)
  • LiveHealthy monthly wellness reimbursement
  • Innovative remote-friendly wellness classes and events
  • Flexible work arrangements
  • Professional + personal development opportunities, i.e. LinkedIn Learning
  • Opportunities to get involved in the causes that you care about (annual camera donation + volunteer events)
We strive for the day that no group can be described as underrepresented at GoPro – whether as part of our brand or in our workforce. We are committed to providing a more inclusive, representative, equal, just and happy world. GoPro is proud to be an Equal Opportunity Employer.

The ranges added below are for Colorado-based hires only and will be dependent on candidate experience. Pay ranges for candidates in other locations other than CO may differ. Pay range: $125,800-$148,00.

This job is closed.