Full Time

Distributed Systems Software Engineer, Python / Go

Canonical
$100,000 - $150,000* / year (about $48–$72 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

As a Distributed Systems Software Engineer focusing on Python and Go at Canonical, you will play a pivotal role in designing and implementing robust, scalable, and efficient distributed systems. You will collaborate with cross-functional teams to ensure seamless integration and deployment of software solutions that meet our operational and business requirements. Your expertise in programming languages, coupled with your understanding of distributed systems, will contribute to the enhancement of Canonical's technology infrastructure.



Job Responsibilities

  • Design, develop, and maintain distributed systems and microservices using Python and Go.
  • Implement scalable architecture and algorithms to improve system performance and reliability.
  • Collaborate with product management and other engineering teams to deliver high-quality software solutions.
  • Participate in code reviews, providing constructive feedback to ensure code quality and best practices.
  • Document design decisions, implementation details, and APIs for internal and external use.
  • Diagnose and troubleshoot complex system issues in a timely manner.
  • Stay informed about industry trends and emerging technologies to continually improve systems.


Qualifications

  • Bachelor's degree in Computer Science, Engineering, or a related field; a Master's degree is a plus.
  • Proven experience in software development, particularly with Python and Go.
  • Strong understanding of distributed systems architecture and design principles.
  • Familiarity with containerization technologies (e.g., Docker, Kubernetes).
  • Experience with cloud platforms such as AWS, GCP, or Azure is desirable.
  • Knowledge of databases (SQL and NoSQL) and message broker systems (e.g., Kafka, RabbitMQ).
  • Excellent problem-solving, debugging, and analytical skills.
  • Strong written and verbal communication skills, with the ability to articulate complex ideas clearly.


Technologies & Tools

This position involves utilizing a variety of technologies and tools, including Python and Go programming languages, container orchestration with Docker and Kubernetes, cloud services such as AWS or GCP, and message brokers like Kafka or RabbitMQ. Familiarity with database systems, both SQL and NoSQL, is also essential for managing and retrieving distributed data efficiently.



Ideal Candidates

The ideal candidates for this role will possess a passion for innovative technology and a deep understanding of distributed systems. They should be proactive, detail-oriented, and exhibit strong collaboration skills to work effectively in a team-oriented environment. A good fit is someone who thrives on solving complex problems, is adaptable to change, and is motivated to continually enhance their knowledge and skills in software development.

Job alerts are where we started. See everything else Jobareer does, on one page. What Jobareer does →

View Similar Jobs

Matches Jobs

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