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.
Overview
The Distributed Systems Software Engineer at Canonical will play a crucial role in designing and implementing highly scalable and fault-tolerant distributed systems. The successful candidate will leverage their expertise in Python or Go to enhance system performance, improve reliability, and contribute to the development of innovative solutions that drive efficiency across complex systems. Collaborating with cross-functional teams, you will be responsible for ensuring robust system architecture, optimizing existing applications, and contributing to open-source projects that align with Canonical's mission and values.
Job Responsibilities
- Design, implement, and maintain distributed systems using Python or Go.
- Collaborate with other engineers and stakeholders to define system architecture and requirements.
- Optimize existing distributed applications for performance and scalability.
- Monitor system health and implement robust methods for fault detection and recovery.
- Contribute to the development and improvement of open-source software and projects.
- Document system processes and software design patterns for future reference.
- Participate in code reviews and provide constructive feedback to team members.
- Stay current with industry trends and emerging technologies related to distributed systems.
Qualifications
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- 3+ years of experience in software development with a focus on distributed systems.
- Proficiency in programming languages such as Python and/or Go.
- Strong understanding of distributed computing concepts and architecture.
- Experience with cloud computing services and tools (AWS, Azure, GCP).
- Familiarity with containerization and orchestration technologies (Docker, Kubernetes).
- Solid understanding of networking protocols and security practices.
- Excellent problem-solving skills and ability to work in a collaborative environment.
Technologies & Tools
The role will utilize a wide range of technologies and tools designed for building distributed systems, including containerization platforms such as Docker and Kubernetes, cloud service providers like AWS, Azure, or GCP, and programming languages primarily Python and Go. Familiarity with message queuing systems, monitoring tools, and version control systems such as Git will also be essential in facilitating efficient development and deployment of software solutions.
Ideal Candidates
The ideal candidate for this position is a highly motivated and detail-oriented individual with a passion for technology and a strong background in distributed systems. They should possess excellent analytical skills and the ability to work effectively under pressure. A successful candidate will demonstrate a collaborative spirit and be eager to share knowledge within the team while continuously seeking innovative solutions to complex challenges. Strong communication skills and adaptability are crucial for thriving in Canonical's dynamic work environment.
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
Similar jobs which you may be interested in. Typically using your existing skillset.