At a Glance
- Tasks: Write high-quality Python software and collaborate with a global team.
- Company: Canonical is a leader in open-source software, known for Ubuntu and innovative technologies.
- Benefits: Enjoy remote work, travel opportunities, a personal development budget, and annual bonuses.
- Why this job: Join a vibrant community, contribute to impactful projects, and enhance your coding skills.
- Qualifications: Exceptional academic record, Python experience, and a passion for open-source software required.
- Other info: Remote roles available globally with biannual company events.
The predicted salary is between 28800 - 48000 £ per year.
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
Python Engineer employer: Canonical
Contact Detail:
Canonical Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Python Engineer
✨Tip Number 1
Familiarise yourself with Canonical's open-source projects and their contributions to the community. Engaging with their work on platforms like GitHub can help you understand their coding standards and project goals, making you a more appealing candidate.
✨Tip Number 2
Showcase your passion for Python and open-source software by contributing to relevant projects or communities. This not only demonstrates your skills but also your commitment to the ethos of Canonical, which values collaboration and innovation.
✨Tip Number 3
Prepare to discuss your experience with Linux, particularly Debian or Ubuntu, as this is crucial for the role. Being able to articulate how you've used these systems in your projects will set you apart from other candidates.
✨Tip Number 4
Highlight any experience you have with container technologies like Docker or Kubernetes. Given that Canonical works with these tools, demonstrating your familiarity can significantly enhance your application.
We think you need these skills to ace Python Engineer
Some tips for your application 🫡
Tailor Your CV: Make sure your CV highlights your experience with Python and any relevant projects you've worked on. Emphasise your contributions to open-source software and any technical leadership roles you've held.
Craft a Compelling Cover Letter: In your cover letter, express your passion for open-source software and innovation. Mention specific technologies or projects that excite you about Canonical and how you can contribute to their mission.
Showcase Your Technical Skills: Include examples of high-quality, well-tested Python code you've written. If possible, link to your GitHub or other repositories where potential employers can see your work in action.
Highlight Soft Skills: Canonical values interpersonal skills and the ability to collaborate with a distributed team. Make sure to mention your communication skills, flexibility, and any experience working in remote teams.
How to prepare for a job interview at Canonical
✨Showcase Your Python Skills
Be prepared to discuss your experience with Python in detail. Highlight specific projects where you've written high-quality, maintainable code and how you approached debugging and testing.
✨Demonstrate Your Passion for Open Source
Canonical values a passion for open-source software. Share any contributions you've made to open-source projects or communities, and express your enthusiasm for collaborative development.
✨Prepare for Technical Questions
Expect technical questions that assess your understanding of Python, Linux, and possibly container technologies like Docker or Kubernetes. Brush up on relevant concepts and be ready to solve problems on the spot.
✨Communicate Effectively
Strong communication skills are essential. Practice explaining complex technical concepts clearly and concisely, as you'll need to collaborate with a globally distributed team and contribute to documentation.