Job Description
This is a general track role, hiring for every team at Canonical who works in Python, across all levels of seniority. Apply here if you believe you are already an outstanding Python engineer.
Canonical works across the entire open source spectrum. Canonical Ubuntu is well-known as a developer favourite and enterprise-friendly Linux. Our web services and system utilities are often written in Python, which we choose where collaboration with other teams, ecosystems and communities is more important than raw performance.
We hire Python Developers with a passion for open-source software, innovation, and cutting-edge technologies. We also look for colleagues who understand that a great product is more than code – it is ready for the unexpected, it is well documented, it is comprehensively tested, it is tastefully presented in its CLI or GUI. At Canonical, you will have the opportunity to make significant contributions through high-quality, idiomatic Python code.
Your team will own a product that may comprise several codebases. These may be intended to run on servers, or on Kubernetes, or on the desktop, or as web services for Ubuntu clients. They may be utilities or frameworks or tools, or part of our production process.
Additionally, this role will give you the opportunity to engage with the broader open-source community. We’re looking for individuals who can help build a thriving community, contribute to a broad range of technologies, and ensure seamless software operations at scale.
Location: we have remote Python engineering roles in every time zone.
What your day will look like
- Write high-quality, well-designed and well-tested Python software
- Collaborate proactively with a globally distributed team
- Display technical leadership at Canonical and in our communities
- Debug issues and produce high-quality code to fix them
- Contribute to technical documentation with the aim to make it the best of its kind
- Work from home with global travel twice a year for company events
What we are looking for in you
- An exceptional academic track record from both high school and university
- Undergraduate degree in Computer Science or STEM, or a compelling narrative about your alternative path
- Drive and a track record of going above-and-beyond expectations
- Well-organised, self-starting and able to deliver to schedule
- Professional manner interacting with colleagues, partners, and community
- Experience writing thoroughly designed, modern, maintainable Python
- Conscientiousness and detail orientation, with a focus on performance
- Professional written and spoken English
- Experience with Linux (Debian or Ubuntu preferred)
- Excellent interpersonal skills, curiosity, flexibility, and accountability
- Passion, thoughtfulness, and self-motivation
- Excellent communication and presentation skills
- Result-oriented, with a personal drive to meet commitments
- Ability to travel twice a year, for company events up to two weeks each
Additional skills that you might also bring
- Experience with container technologies such as LXD, Docker and Kubernetes
- Understanding of build systems and toolchains, including for cross-compilation
- Additional languages, particularly Golang or Rust, C or C++
- Deep quality and test engineering
- Web or Flutter front-end experience
- REST and gRPC API experience
- SQL and NoSQL data store expertise
- Experience with public clouds or OpenStack
- Experience with Debian/Ubuntu packaging
- Experience with systems programming or scalable web services
- Performance engineering and security experience
What we offer you
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.
- 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
- Priority Pass, and travel upgrades for long haul company events