At a Glance
- Tasks: Develop Python tools for hardware certification and automate testing processes.
- Company: Join Canonical, a leading open-source software company behind Ubuntu.
- Benefits: Enjoy a fun team environment, competitive salary, and growth opportunities.
- Why this job: Make a real impact on Linux adoption across diverse devices and industries.
- Qualifications: Experience in Python and a passion for test automation and hardware.
- Other info: Collaborate with global teams and enjoy international travel opportunities.
The predicted salary is between 36000 - 60000 £ per year.
Canonical is hiring a Python Software Engineer to join the Certification team, who make the tools which enable us to know that a desktop, laptop, server or IoT device is working properly. We work at the interface of hardware and software, so the ideal candidate is a Python developer familiar with hardware. The Certification team develops the tools needed to certify hardware as working with Ubuntu Core as well as Ubuntu Desktop and Server: https://ubuntu.com/certified. We design hardware which can be used to probe devices independently, and frameworks for software tests that check every aspect of Ubuntu on that hardware. This is an excellent opportunity for someone who wants to have a meaningful impact for adoption of Linux across multiple device categories and industries. Canonical offers a fun, fast‑paced team environment and a career full of learning and development opportunities. This team is centered in EMEA time zones, and works with colleagues on related teams in both the Americas and APAC. We work together with silicon companies, OEMs, ODMs and teams within Canonical to ensure a smooth, secure out of the box Ubuntu experience, with success in this role leading to a great Ubuntu experience being offered on more and more devices.
Role description
We are looking for a self‑motivated software engineer with experience developing in Python, to work on test automation tools or Linux based embedded hardware. This role offers an exciting opportunity to push the industry forward by enabling entirely new Linux based hardware testing capabilities, scaling up hardware certification efforts and allowing for deeper test coverage. The role involves the development and maintenance of Canonical's open source certification tools, supporting the creation of hardware solutions for test automation, and automating our existing processes. We seek out continuous process and tooling improvements as part of expanding the certification test suites, ultimately to improve the quality of Linux experience felt by millions of Linux end users.
Key responsibilities
- Maintain and develop new features to our Python based test automation tools like Checkbox, used by both in‑house teams and industry partners.
- Invent new ways to enable remote, automated testing.
- Help build the software counterpart to in‑house designed testing hardware to help test device enablement (graphics, hotplug, bluetooth, etc).
- Write functional and performance tests to support hardware enablement and to protect from regressions.
- Participate in meetings involving international travel 2‑3 times per year.
Required Skills And Experience
- Knowledge of Python programming language.
- Quality oriented, pragmatic approach to software design and implementation.
- Interest in test automation methodologies.
- Previous experience working with Ubuntu or other Linux distributions.
- Ability to be productive in a globally distributed team.
Desired Skills And Experience
- Passion for tinkering: you are a maker.
- Experience working in an agile environment.
- Hardware testing experience, for example in the IoT space.
- Familiarity with the C programming language.
What is Canonical?
Canonical is a growing international software company that works with the open‑source community to deliver Ubuntu, "the world's best free software platform". Our services help businesses worldwide to reduce costs, improve efficiency and enhance security with Ubuntu. We are proud to foster a workplace free from discrimination. Diversity of experience, perspectives, and background create a better work environment and better products. Whatever your identity, we will give your application fair consideration.
Python Software Engineer - Ubuntu Hardware Certification Team employer: Canonical
Contact Detail:
Canonical Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Python Software Engineer - Ubuntu Hardware Certification Team
✨Tip Number 1
Network like a pro! Reach out to current employees at Canonical on LinkedIn or other platforms. Ask them about their experiences and any tips they might have for landing a role in the Certification team.
✨Tip Number 2
Show off your skills! If you’ve got a GitHub or personal project showcasing your Python prowess, make sure to highlight it during interviews. It’s a great way to demonstrate your hands-on experience with hardware and software.
✨Tip Number 3
Prepare for technical interviews by brushing up on test automation methodologies and Linux systems. Practise coding challenges that focus on Python and hardware interactions to impress the interviewers.
✨Tip Number 4
Don’t forget to apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, it shows you’re genuinely interested in joining the Canonical team.
We think you need these skills to ace Python Software Engineer - Ubuntu Hardware Certification Team
Some tips for your application 🫡
Show Off Your Python Skills: Make sure to highlight your experience with Python in your application. We want to see how you've used it in real-world projects, especially if you've worked on test automation tools or hardware-related software.
Connect the Dots with Hardware: Since we're all about the interface of hardware and software, don’t forget to mention any hands-on experience you have with hardware. Whether it's IoT devices or other Linux-based systems, let us know how you've tinkered with them!
Keep It Relevant and Concise: When writing your application, stick to what's relevant for the role. We appreciate clarity and brevity, so focus on your most impressive achievements that align with our needs in the Certification team.
Apply Through Our Website: We encourage you to apply directly through our website. It’s the best way for us to receive your application and ensures you’re considered for this exciting opportunity with Canonical!
How to prepare for a job interview at Canonical
✨Know Your Python Inside Out
Make sure you brush up on your Python skills before the interview. Be ready to discuss your previous projects and how you've used Python in real-world applications, especially in test automation or hardware-related tasks.
✨Familiarise Yourself with Ubuntu
Since Canonical is all about Ubuntu, it’s crucial to have a solid understanding of the operating system. Explore its features, especially those related to hardware certification, and be prepared to share your experiences with Linux distributions.
✨Show Your Tinkering Spirit
Demonstrate your passion for hardware and software by sharing any personal projects or tinkering experiences. Whether it's building a device or automating a process, showing that you’re a maker can set you apart from other candidates.
✨Prepare for Team Dynamics
As this role involves working in a globally distributed team, think about how you’ve collaborated with others in the past. Be ready to discuss your experience in agile environments and how you handle communication across different time zones.