Canonical
Posted 4y ago

Python Software Engineer - Ubuntu Hardware Certification Team

Canonical
Europe or Africa or Asia
RemoteFull Time
Responsibilities
  • maintaining tools
  • building hardware
  • writing tests
Requirements
  • Python development experience
  • Familiarity with Linux/Ubuntu
  • Test automation interest
  • Ability to work in distributed teams
  • Travel 2-3 times/year
Technical tools mentioned
PythonCheckboxUbuntu CoreUbuntu DesktopUbuntu ServerCLinux

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

About Canonical

Develops and supports the Ubuntu open-source operating system.

Similar jobs

Software Engineer roles
7mo
Save
Mark Applied
Hide
Software Developer / Software Engineer
United States
RemoteFull Time
Psudo
Psudo: Building software and infrastructure to reinvent the internet experience.
2+ YOE2+ years of experience in software development; proficient in Java, C++, Ruby on Rails; SQL/NoSQL; familiar with SDLC; able to document and collaborate.
Java, C++, Ruby on Rails, SQL, NoSQL, ASP .Net, JQuery, Apache Wicket, JSF, Spring MVC, AWS, Azure, Google Cloud, OpenStack
1y
Save
Mark Applied
Hide
Software Developer / Software Engineer
Manila, Metro Manila, Philippines
OnsiteFull Time
Golden Aurum System Solutions
Golden Aurum System Solutions: A software development delivering web-based applications.
2+ YOE2+ years of software development experience; strong OOP; proficient in Java/C++/Ruby on Rails; SQL/NoSQL; web frameworks; cloud familiarity.
Java, C++, Ruby on Rails, ASP .NET, JQuery, Wicket, JSF, Spring MVC, SQL, NoSQL, AWS, Azure, Google Cloud, OpenStack
9y
Save
Mark Applied
Hide
Software Developer Software Engineer
Indore, Madhya Pradesh, India
OnsiteFull Time
Endeavor IT Solution
Endeavor IT Solution: Web design and digital marketing agency based in Indore.
0+ YOEEntry level software developer with basic web tech skills and good communication.
HTML, CSS, JQuery, JAVA OOPS
11y
Save
Mark Applied
Hide
Software Developer/Software Engineer
Reston, Virginia, United States
OnsiteFull Time
Morfologica
Morfologica: Provides specialized natural language processing and computational linguistics engineering services.
Software Engineers/Developers experienced with lifecycle software development; strong programming and automated testing skills; ability to work with government customers.
Java, Ruby, Python, C++, SQL, Oracle, NLP
4h
Save
Mark Applied
Hide
Senior Software Engineer
Columbus, Ohio, United States
OnsiteFull Time
ADB SAFEGATE
ADB SAFEGATE: Provides integrated lighting and software for airport airside operations.
5+ YOEBachelor’s degree in a related computing field, 5+ years of software development experience, 3+ years of production C++, embedded Linux, real-time coding, Git, testing, architecture, and mentoring skills.
C++, embedded Linux, TLS, TPM2, Modbus, CAN bus, OPC UA, CI/CD, Go, Golang, Python, Git, AI
4h
Save
Mark Applied
Hide
Staff+ Software Engineer, Platform Ecosystem
San Francisco or New York City
$405k-$485k/yr HybridFull Time
Anthropic
Anthropic: Developing safe and reliable artificial intelligence systems.
8+ YOEBachelor's degree or equivalent experience; 8+ years of backend or platform engineering experience, some frontend experience, product sense, AI development tools familiarity, and independent ownership of scalable products.
AI tools
7h
Save
Mark Applied
Hide
Software Engineer, Applied AI
San Francisco, California, United States
$150k-$250k/yr OnsiteFull Time
Clera
Clera: AI talent agent matching professionals with high-growth startup roles
3+ YOERequires a few years of software engineering experience, production systems, AI agent evaluations, full-stack applications, cross-functional ownership, and direct LLM or applied AI experience.
Temporal, Prefect
7h
Save
Mark Applied
Hide
Principal Software Engineer
Seattle, Washington, United States
$150k-$170k/yr HybridFull Time
Arboreal Management
Arboreal Management: A property management firm operating affordable and workforce housing.
Exceptional software engineering ability, production systems experience, cross-stack proficiency, strong technical judgment, and experience using AI extensively in development workflows.
JavaScript, Node.js, SvelteKit, Postgres, Microsoft Azure, Cloudflare