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
Canonical is seeking a skilled Distributed Systems Software Engineer proficient in Python or Go to join our dynamic team. The successful candidate will be responsible for designing, developing, and maintaining distributed systems and services that power our products and solutions. This role requires engaging with cross-functional teams to deliver high-quality software while ensuring scalability, reliability, and performance of our systems. You will have the opportunity to contribute to innovative projects and shape the future of distributed computing at Canonical.
Job Responsibilities
- Design and implement scalable distributed systems that meet business requirements.
- Write clean, maintainable, and efficient code using Python or Go.
- Collaborate with cross-functional teams to gather requirements and define project scope.
- Perform troubleshooting and resolving of application issues in a timely manner.
- Conduct code reviews and provide constructive feedback to peers.
- Participate in architectural discussions and contribute to design decisions.
- Monitor system performance and implement optimizations as needed.
- Stay updated with emerging technologies and industry trends related to distributed systems.
Qualifications
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- Minimum of 3 years of experience in software development, with a focus on distributed systems.
- Strong proficiency in Python or Go programming languages.
- Solid understanding of distributed system architecture, APIs, and protocols.
- Experience with containerization technologies such as Docker and orchestration using Kubernetes.
- Familiarity with cloud platforms such as AWS, Azure, or Google Cloud.
- Proficient understanding of networking concepts and performance tuning.
- Excellent problem-solving skills and a desire to learn new technologies.
Technologies & Tools
The ideal candidate will utilize a diverse array of technologies and tools, including but not limited to Python, Go, Docker, Kubernetes, and various cloud services such as AWS, Azure, or Google Cloud. Familiarity with databases, distributed file systems, and modern application frameworks will be advantageous. Knowledge of version control systems, particularly Git, and continuous integration/continuous deployment (CI/CD) tools will enhance the candidate's ability to contribute effectively to Canonical's projects.
Ideal Candidates
Ideal candidates for the Distributed Systems Software Engineer position at Canonical will demonstrate a strong blend of technical expertise and interpersonal skills. They will possess a proactive attitude towards problem-solving and a deep commitment to quality. Successful candidates are expected to be self-motivated, capable of working independently as well as part of a team. Excellent communication skills and the ability to adapt to rapidly changing environments will further distinguish them in this role, ensuring they thrive in a fast-paced and innovative workplace.
Our resume checker is free and needs no account: upload a resume and see what to fix. Check my resume →
View Similar Jobs
Similar jobs which you may be interested in. Typically using your existing skillset.