Careers

‹ Back to list

Software Engineer

Beijing

Role Summary

Canonical's OEM Delivery Team works with OEM and ODM customers to pre-load Ubuntu Desktop Classic, Ubuntu Core, and bring Ubuntu directly to millions of users. As a Software Engineer, you will be responsible for technical aspects of ensuring that Ubuntu functions well on systems. This fast-paced environment requires strong debugging, critical thinking and problem-solving skills, and deep knowledge of the Linux system.

Key Responsibilities

  • Debug and customize a wide range of software components in Ubuntu;
  • Work closely with project managers and Field/QA engineers to identify, triage, and fix critical system-level problems;
  • Provide software and system engineering support for OEM and ODM customers;
  • Work with individual upstream projects to find and apply patches for bugs affecting OEM/ODM customers; champion locally-developed patches for inclusion in the upstream package;
  • International travel is occasionally required. Must be able to travel to the EU, USA, China, and Taiwan;

Required Skills And Experience

  • Participation in open-source development projects
  • Strong working knowledge of the x86 Linux software stacks, especially
    • Linux kernel and device drivers
    • Grub, UEFI, ACPI
    • systemd, udev, dbus
    • Gnome desktop
  • Strong and proven experience in debugging in any of the subsystems - WiFi/BT, USB, Audio, Graphics, Ethernet, Power Management under the Linux Desktop
  • Proven experience with C, Python, Shell script; For creating and maintaining automated tools and open-source projects
  • Experience with open-source development tools such as GCC, GNU Make, Autotools, Git/Bzr, GitHub/Gitlab, and Launchpad bug tracking
  • Strong English-language communication skills, especially in online environments such as mailing lists and IRC
  • Excellent and proven time-management skills
  • Ability to be productive in a globally-distributed team through self-discipline and self-motivation

Desirable Skills And Experience

  • Demonstrated open source participation and contributions
  • Experience with Ubuntu and Debian packaging
  • Familiar with Wayland/Mir stacks
  • Familiar with Gtk toolkit
  • Familiar with Flutter toolkit
  • Familiar with Golang
  • Familiar with Network Protocols
  • Fluency in written and spoken Mandarin Chinese

Canonical is an equal opportunity employer

Canonical believes a diverse workforce enhances our ability to deliver world class software and services which meet the world’s computing needs. We are committed to ensuring equal employment opportunities to all qualified individuals. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status.


Apply for this role

Required

Location unavailable