Distributed Systems Software Engineer, Python / Go
About the role
We are seeking a software engineer with a passion for building and validating resilient distributed systems. At Canonical you can build a career and drive the success of those leveraging Canonical’s Ubuntu and Juju to build multi-cloud deployable cloud applications.
Responsibilities
- Create automated testing approaches and infrastructure for validating reliability, performance, and resilience of cloud orchestration tools and applications
- Enable engineering teams across Canonical to develop software with confidence by making distributed system testing tooling available across the company
- Enhance continuous integration pipelines for deploying and testing Canonical’s cloud native products such as Kubeflow
- Deploy, manage, and debug highly distributed systems
- Monitor and report on automated testing efforts
- Collaborate daily with a globally distributed team
Requirements
- Solid background in modern test processes and strategies
- Experience with Python or Go development
- Strong object oriented development skills
- Able to develop and ship production grade modern web applications
- Working knowledge of continuous integration tools such as Jenkins, CircleCI, GitHub CI
- Knowledge of networking technologies and fundamentals
- Solid understanding of Linux system architecture
- A capacity for complex abstract thinking
- Capability for 2-4 weeks of international travel per year
Qualifications
- Collecting and analyzing large multidimensional datasets
- Operating data platforms: key-value stores, relational or document databases, event buses
- Work with cloud technologies such as OpenStack, Kubernetes, Terraform and AWS
- Developing AI/ML pipelines
Skills
- Ability to develop and ship production grade modern web applications
- Working knowledge of continuous integration tools such as Jenkins, CircleCI, GitHub CI
- Knowledge of networking technologies and fundamentals
- Solid understanding of Linux system architecture
- A capacity for complex abstract thinking
- Capability for 2-4 weeks of international travel per year
Benefits
- Distributed work environment with twice-yearly team sprints in person
- Personal learning and development budget of USD 2,000 per year
- Annual compensation review
- Recognition rewards
- Annual holiday leave
- Maternity and paternity leave
- Employee Assistance Programme
- Opportunity to travel to new locations to meet colleagues from your team and others
- Priority Pass for travel and travel upgrades for long haul company events
Pay
We consider geographical location, experience, and performance in shaping compensation worldwide. We revisit compensation annually (and more often for graduates and associates) to ensure we recognise outstanding performance. In addition to base pay, we offer a performance-driven annual bonus. We provide all team members with additional benefits, which reflect our values and ideals. We balance our programs to meet local needs and ensure fairness globally.
Schedule
We are seeking a software engineer with a passion for building and validating resilient distributed systems. At Canonical you can build a career and drive the success of those leveraging Canonical’s Ubuntu and Juju to build multi-cloud deployable cloud applications.