Linux Devices Software Engineer
@ Canonical

Hybrid
$120,000
Hybrid
Full Time
Posted 21 days ago

Your Application Journey

Personalized Resume
Apply
Email Hiring Manager
Interview

Email Hiring Manager

XXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXX******* @canonical.com
Recommended after applying

Job Details

Overview

Canonical, the publisher of Ubuntu and a leader in open source, is hiring a Linux Devices Software Engineer on the SnapD team. This role focuses on mission-critical Golang code for software delivery, containers, security sandboxing, telemetry and device management.

Role Responsibilities

  • Collaborate proactively with a distributed team.
  • Write high quality code and create new features.
  • Debug Linux system level issues and implement fixes.
  • Review peers' code and contribute ideas.
  • Ensure robust performance during unexpected events.

Required Qualifications

Applicants should be passionate about open source development with professional experience in Go, Python, C, or C++. A strong understanding of Linux system-level fundamentals (e.g., cgroups, namespaces, apparmor) is required along with a commitment to high quality coding practices, testing, and code reviews.

What We Offer

  • Competitive, performance-based compensation with annual reviews.
  • Remote working with biannual global team meetups.
  • Personal learning and development budget.
  • Comprehensive benefits including leave, wellness resources, and travel perks.

About Canonical

Canonical is a pioneering open source technology firm, known for Ubuntu and its impact in AI, IoT, cloud, and data science. As a founder-led and profitable company, Canonical values excellence, collaboration, and continuous learning within a globally distributed team.

Key Skills/Competency

  • Open Source
  • Golang
  • Linux
  • Containers
  • Security
  • Software Delivery
  • Debugging
  • IoT
  • Collaboration
  • Testing

How to Get Hired at Canonical

🎯 Tips for Getting Hired

  • Customize your resume: Tailor your skills to Golang and Linux expertise.
  • Highlight open source work: Emphasize contributions on GitHub.
  • Prepare technical tests: Practice system debugging and code reviews.
  • Research Canonical: Understand their products like Ubuntu and SnapD.

📝 Interview Preparation Advice

Technical Preparation

Review Golang programming and debugging techniques.
Practice Linux system-level troubleshooting tasks.
Study containerization and security sandboxing fundamentals.
Refresh knowledge on Linux internals like cgroups.

Behavioral Questions

Describe your teamwork in distributed environments.
Explain your approach to code reviews.
Discuss handling unexpected system failures.
Share experience in open source projects.

Frequently Asked Questions