Full Time

Distributed Systems Software Engineer, Python / Go

Canonical
$120,000 - $160,000* / year (about $58–$77 an hour)

Job Description

This job was posted over 30 days ago, so it has most likely closed. See newer jobs like it.

Written by AI from the job title and company, not by Canonical, so some details may not match this job. The employer's own page has the real description.

Job Overview

The Distributed Systems Software Engineer at Canonical is responsible for designing, implementing, and maintaining robust, scalable distributed systems using Python and Go. The successful candidate will collaborate with cross-functional teams to develop new features, tackle challenges related to system performance, and ensure reliability across various platforms. You will have the opportunity to work on cutting-edge technologies while contributing to open-source projects, enhancing the overall technical ecosystem at Canonical.



Job Responsibilities

  • Design and implement high-performance distributed systems using Python and Go.
  • Collaborate with teams to identify and resolve issues affecting system performance and reliability.
  • Contribute to open-source projects to enhance the Canonical ecosystem.
  • Write and maintain clear documentation for system designs and functionalities.
  • Participate in code reviews, providing constructive feedback to peers.
  • Develop automated tests to ensure code quality and system performance.
  • Stay updated with industry trends and advancements in distributed systems.


Qualifications

  • Bachelor's degree in Computer Science, Software Engineering, or a related field.
  • Proven experience in developing distributed systems, preferably with Python and Go.
  • Strong understanding of networking concepts and protocols.
  • Experience with cloud services and orchestration tools.
  • Familiarity with database systems and data storage solutions.
  • Excellent problem-solving abilities and attention to detail.
  • Strong written and verbal communication skills.


Technologies & Tools

The Distributed Systems Software Engineer will primarily utilize programming languages such as Python and Go in conjunction with distributed systems frameworks and tools. Technologies and tools may include Kubernetes for container orchestration, Git for version control, various cloud platforms (such as AWS, Azure, or GCP) for deployment, and monitoring solutions such as Prometheus and Grafana. Familiarity with databases such as PostgreSQL or MongoDB, as well as CI/CD pipelines, will also be advantageous.



Ideal Candidates

The ideal candidate for this position is a proactive and innovative thinker who thrives in a dynamic work environment. They possess a strong analytical mindset, are passionate about building reliable systems, and have a commitment to quality in their code and design choices. Excellent interpersonal skills, the ability to work collaboratively in a team-oriented atmosphere, and a dedication to contributing to the open-source community further characterize a strong candidate, making them an asset to the Canonical team.

Unemployment rose most in Finland: from 8.4% in 2024 to 9.5% in 2025, by the International Labour Organization’s estimates. Every country, ranked →

View Similar Jobs

Matches Jobs

Similar jobs which you may be interested in. Typically using your existing skillset.