Software Engineer

Canonical
yesterday

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Remote

Tech stack

Agile Methodologies
C++
Cloud Computing
Configuration Management
Software Quality
Computer Programming
Debian Linux
Software Debugging
Linux
Distributed Systems
NoSQL
Open Source Technology
Ansible
SQL Databases
System Programming
Containerization
Kubernetes
Free and Open-Source Software
Puppet
Terraform
Docker

Job description

We are hiring a Senior Software Engineer to be an integral part of the team, driving process improvement, assisting the manager in running the team, coaching and developing colleagues with less experience, as well as owning functional areas from design and implementation all the way to support and maintenance., As a senior software engineer, you'll be an integral part of the team, driving process improvement, assisting the manager in running the team, coaching and developing colleagues with less experience, as well as owning functional areas from design and implementation all the way to support and maintenance., * Own the design, delivery, and support of features in a highly concurrent, highly distributed system that drives cloud automation and software operations at scale.

  • Collaborate proactively with a distributed team
  • Debug issues and interact with upstream communities publicly
  • Work with helpful and talented engineers including experts in many fields
  • Discuss ideas and collaborate on finding good solutions
  • Coach and develop team members with less experience, actively contributing to building and maintaining a first-class engineering team.
  • Work from home with global travel for 2 to 4 weeks per year for internal and external events, We consider geographical location, experience, and performance in shaping compensation worldwide. We revisit compensation annually (and more often for graduates and associates) to ensure we recognise outstanding performance. In addition to base pay, we offer a performance-driven annual bonus. We provide all team members with additional benefits, which reflect our values and ideals. We balance our programs to meet local needs and ensure fairness globally.
  • Distributed work environment with twice-yearly team sprints in person - we've been working remotely since 2004!
  • Personal learning and development budget of USD 2,000 per year
  • Annual compensation review
  • Recognition rewards
  • Annual holiday leave
  • Maternity and paternity leave
  • Employee Assistance Programme
  • Opportunity to travel to new locations to meet colleagues from your team and others
  • Priority Pass for travel and travel upgrades for long haul company events

Requirements

  • Proven track record of professional software delivery using Go.
  • Hands-on experience developing highly concurrent distributed systems
  • Excellent communication skills in the English language, both verbal and written, especially in online environments
  • An exceptional academic track record from both high school and preferably university
  • Experience with agile software development methodologies
  • Willingness to travel up to 4 times a year for internal events

Additional skills that you might also bring

The following skills may be helpful to you in the role, but we don't expect everyone to bring all of them.

  • Experience with container technologies (Docker, LXD, Kubernetes, etc.)
  • Experience doing development in C, C++, Rust, or other low-level programming languages.
  • Solid networking background and experience
  • Experience in the Linux and open-source software world
  • Experience with configuration management software (Ansible, Chef, Puppet, et al.)
  • Working knowledge of cloud computing
  • Passionate about software quality and testing
  • Experience with packaging (Debian, snaps)
  • Programming with, and operating, SQL and NoSQL databases
  • Experience working on a distributed team on an open source project -- even if that is community open source contributions.
  • Demonstrated track record of Open Source contributions
  • Prior experience developing plugins for Terraform

About the company

Canonical is a leading provider of open source software and operating systems to the global enterprise and technology markets. Our platform, Ubuntu, is very widely used in breakthrough enterprise initiatives such as public cloud, data science, AI, engineering innovation, and IoT. Our customers include the world's leading public cloud and silicon providers, and industry leaders in many sectors. The company is a pioneer of global distributed collaboration, with 1200+ colleagues in 75+ countries and very few office-based roles. Teams meet two to four times yearly in person, in interesting locations around the world, to align on strategy and execution. The company is founder-led, profitable, and growing., Many internal and external teams depend on Juju to deliver their products and services - from Canonical Managed Solutions, our OpenStack and cloud delivery teams, to Fortune 500 companies., Canonical is a pioneering tech firm that is at the forefront of the global move to open source. As the company that publishes Ubuntu, one of the most important open source projects and the platform for AI, IoT and the cloud, we are changing the world on a daily basis. We recruit on a global basis and set a very high standard for people joining the company. We expect excellence - in order to succeed, we need to be the best at what we do. Canonical has been a remote-first company since its inception in 2004. Work at Canonical is a step into the future, and will challenge you to think differently, work smarter, learn new skills, and raise your game. Canonical provides a unique window into the world of 21st-century digital business.

Apply for this position