Senior Software Engineer

Canonical

Title: Senior Software Engineer, Snap Store

  • Location: Home based – Americas, EMEA

Summary

Canonical’s Snap Store team is looking for talented backend developers to join a distributed engineering team focused on delivering the best Snap Store experience.

Snaps are secure, sandboxed, containerized applications that are powering a growing number of IoT devices and the format of choice for thousands of up-to- date apps for Linux desktops, servers, and cloud instances. For users, the Snap Store facilitates discovery, installation, and automatic reliable updates of applications. For developers and device manufacturers our platform provides a smooth publishing pipeline, metrics on distribution, and facilities to manage dedicated stores for IoT devices.

The Snap Store, architected as a set of microservices written in Python (Flask, Django) and Golang, has a lot of interesting challenges ahead in order to keep expanding its feature set and scale in order to meet its increasing demand. If you have a passion for clean APIs, have a bias towards shipping and believe that tests are the key to higher velocity and reliability, you’ll fit right in.

Key Responsibilities

  • Architect and design new functionalities as a collaborative effort with the rest of team members.
  • Hands on development of new services, features and enhancements primarily in Python and Golang.
  • Perform code reviews giving constructive feedback in order to improve the team’s development efforts.
  • Execute the deployment of your code changes into the production environment.
  • Monitor the services owned by the team in order to keep them healthy and spot areas of performance improvements.
  • Collaborate with other teams in Canonical to coordinate the successful delivery of multilevel features.

Desired Skills and Experience

  • Proficiency developing public-facing APIs and web applications preferably using Python and/or Golang.
  • Experience working with SQL and NoSQL databases, PostgreSQL and Cassandra preferred.
  • Proven ability to consistently deliver robust and well tested code to production.
  • Solid understanding of all the aspects of server side development and distributed systems.
  • Strong knowledge of the concepts related with the infrastructure that powers a server-side application.
  • Familiarity with Ubuntu as a development and deployment platform.
  • Ability to collaborate remotely with a diverse set of team members and remain highly motivated, productive, and organized.
  • Excellent verbal and written communication skills in English.
  • Bachelor’s degree or equivalent in Computer Science or related engineering field.

Canonical believes a diverse workforce enhances our ability to deliver world class software and services which meet the world’s computing needs. We are committed to ensuring equal employment opportunity to all qualified individuals. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status.

LI-Remote

Stack