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.
Position Overview
The Distributed Systems Software Engineer, specializing in Python/Go at Canonical, plays a pivotal role in the design, development, and maintenance of scalable distributed systems. Ensuring high performance and reliability, the engineer will collaborate with cross-functional teams to implement innovative solutions that address the challenges faced by modern cloud infrastructures. This position requires a deep understanding of distributed systems, a strong command of programming languages such as Python and Go, and the ability to communicate effectively with stakeholders across the organization.
Job Responsibilities
- Design, develop, and implement scalable distributed systems that meet business needs.
- Analyze and optimize system architecture for performance, scalability, and reliability.
- Collaborate with software architects to define technical specifications and project requirements.
- Write clean, maintainable, and efficient code in Python and Go.
- Conduct code reviews and provide constructive feedback to team members.
- Troubleshoot and resolve issues in existing software.
- Participate in agile development processes and continuous integration/continuous deployment (CI/CD) practices.
- Stay updated with industry trends and emerging technologies to incorporate into the development process.
Qualifications
- Bachelor’s degree in Computer Science, Software Engineering, or a related field.
- Proven experience as a software engineer, with a focus on distributed systems.
- Strong proficiency in Python and Go programming languages.
- Experience with cloud platforms like AWS, GCP, or Azure.
- Solid understanding of networking concepts and protocols.
- Familiarity with containerization technologies such as Docker and Kubernetes.
- Knowledge of database systems and architecture (SQL and NoSQL).
- Excellent problem-solving skills and attention to detail.
Technologies & Tools
The ideal candidate will be working with a wide array of technologies and tools which include programming languages such as Python and Go, cloud services (AWS, Google Cloud Platform, Azure), Docker for containerization, Kubernetes for orchestration, and various database systems including PostgreSQL, MongoDB, and Redis. Familiarity with version control systems such as Git and continuous integration tools will also be essential for day-to-day operations.
Ideal Candidates
Ideal candidates for the Distributed Systems Software Engineer position possess a blend of analytical skills, creativity, and strong communication abilities. They should be self-motivated and capable of working independently as well as collaboratively in a team setting. A passion for technology and innovation, combined with a strong desire to solve complex problems, will set candidates apart. Adaptability and a commitment to continuous learning and improvement in a rapidly evolving industry are also critical to success in this role.
In September, US employers made hires equal to 3.4% of all jobs, and layoffs equal to 1%, says the Bureau of Labor Statistics. The job market now →
View Similar Jobs
Similar jobs which you may be interested in. Typically using your existing skillset.