FlexHired LogoFlexHired
Logo of Canonical

Canonical

Python Software Engineer - Ubuntu Hardware Certification Team

Job Summary

Canonical is seeking a Python Software Engineer to join its Certification team, focusing on developing and maintaining test automation tools for hardware certification and Linux-based embedded hardware. The role involves creating features for Python-based tools like Checkbox, supporting hardware testing automation, and collaborating with international teams. Candidates should have experience with Python, Linux, and hardware testing, with a preference for familiarity with Ubuntu and experience in agile environments. The position offers opportunities to impact Linux hardware adoption across various industries and device categories.

Required Skills

Python
Performance Testing
Linux
Test Automation
Agile Methodology
C Programming
Hardware Testing
Embedded Hardware
Functional Testing

Job Description

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.

#LI-Remote #Stack

Interested in this job?

Application deadline: Open until filled

Logo of Canonical

Canonical

Canonical makes open source secure, reliable and easy to use, providing support for Ubuntu and a portfolio of enterprise-grade technologies. Founded in 2004, Canonical operates globally with team members in over 80 countries.

See more jobs
Date PostedMarch 28th, 2025
Job TypeFull Time
LocationHome based - EMEA
SalaryCompetitive rates
Exciting remote opportunity (requires residency in Africa, Europe) for a Python Software Engineer - Ubuntu Hardware Certification Team at Canonical. Offering competitive salary (full time). Explore more remote jobs on FlexHired!

Safe Remote Job Search Tips

Verify Employer Thoroughly

Research the company's identity thoroughly before applying. Check for a professional website with contacts, active social media, and LinkedIn profiles. Verify details across platforms and look for reviews on Glassdoor or Trustpilot to confirm legitimacy.

Never Pay to Get a Job

Legitimate employers never require payment for applications, training, background checks, or equipment. Always reject upfront payment requests or demands for bank details, even if they claim it's for purchasing necessary work gear on your behalf.

Safeguard Your Personal Information

Protect sensitive data like SSN, bank details, or ID copies. Share this only after accepting a formal, written job offer. Ensure it's submitted via a secure company system or portal, never through insecure channels like standard email attachments.

Scrutinize Communication & Interviews

Watch for communication red flags: poor grammar, generic emails (@gmail), vague details, or undue pressure. Be highly suspicious of interviews held only via text or chat apps; legitimate companies typically use video or phone calls.

Beware of Unrealistic Offers

If an offer's salary or benefits seem unrealistically high for the work involved, be cautious. Research standard pay for similar roles. Offers that appear 'too good to be true' are often scams designed to lure you into providing information or payment.

Insist on a Formal Contract

Always secure and review a formal, written job offer or employment contract before starting work or sharing final personal details. Ensure it clearly defines your role, compensation, key terms, and conditions to avoid misunderstandings or scams.

Subscribe Newsletter

Never miss a remote job opportunity. Subscribe to our newsletter today and receive exclusive job alerts, career advice, and industry insights delivered straight to your inbox.