All remote jobs
Open role
Remote opportunity atCanonical Ltd.

Open Source Networking Software Engineer – ToR Switch / SmartNIC / DPU

Review the role, location requirements, compensation details, and application process before deciding whether this opportunity fits your next career move.

Published
26Listing views
1Application actions
9 Sep 2026Apply before
Opportunity details

About this role.

AI Summary

This role at Canonical focuses on developing and integrating open source networking software for data center environments, specifically targeting Top-of-Rack switches and SmartNICs/DPUs. You will work with cutting-edge technologies like SONiC, DPDK, eBPF, and OVN, collaborating with silicon providers and public clouds. The position demands deep expertise in Linux networking, strong programming skills in C/C++ and at least one other language, and a passion for open source. It is a remote role with global travel twice a year, offering the opportunity to influence open source communities and shape future-proof networking solutions.

Role DNA

A quick view of the complexity, pace, ownership and collaboration implied by the job description.

Job Complexity

5/5
EasyHard

Pace & Pressure

4/5
RelaxedFast-paced

Autonomy Level

4/5
GuidedFull ownership

Communication Load

5/5
IndependentCollaborative
AI insightThis role requires a rare combination of advanced networking knowledge, systems programming expertise, and experience with open source communities. The rigorous selection process (six to eight interviews) and the complexity of the technology stack make this exceptionally challenging.

Salary analysis

Estimated compensation compared with the broader US market for similar roles.

Estimated job medianHighly competitive
$150,000
US market range$120k–$180k
AI insightGiven the specialized nature of open source networking engineering and the stack involved (SONiC, DPDK, eBPF), the market salary for this role in the US typically ranges from $120k to $180k. The median of $150k reflects a competitive but typical offer for a senior engineer with the required skill set, especially considering Canonical's remote-first model and global talent pool.

Core skills

Skills and capabilities most closely associated with this opportunity.

Cover letter sample

I am writing to express my strong interest in the Open Source Networking Software Engineer position at Canonical. With a background in Linux networking and a deep passion for open source technologies, I am excited about the opportunity to work on innovative solutions for ToR switches and SmartNICs/DPUs.

My experience includes hands-on work with C/C++ and Rust, along with practical knowledge of DPDK, eBPF, and OVN. I have contributed to upstream projects and thrive in collaborative, globally distributed environments, which aligns perfectly with Canonical's mission and operational model.

I am particularly drawn to the chance to influence open source communities and work with leading silicon providers to bring hyperscaler-class networking to enterprise customers. I am confident my technical skills and dedication to quality, security, and performance can make a meaningful contribution to your team.

Thank you for considering my application. I look forward to the possibility of discussing how I can support Canonical's goals in building the future of open source networking.

Sample interview questions
Describe your experience with Linux kernel networking and how you have used eBPF to solve a real-world problem.

I have worked extensively with Linux networking, including tc, netfilter, and socket layers. In a recent project, I used eBPF for traffic filtering and load balancing, attaching XDP programs to high-throughput interfaces. This allowed us to reduce CPU usage by 40% compared to iptables while maintaining line-rate packet processing. I also used BPF maps for connection tracking and monitored performance with bpftool.

How would you approach debugging a complex issue in a SONiC-based switch where packets are being dropped in the data plane?

I would start by reproducing the issue in a controlled lab environment, then systematically check each layer: first verify the switch ASIC tables (e.g., routing, ACLs) using SAI/SONiC commands, then examine the kernel data path (e.g., netdev stats, tc filters) and finally use packet captures or counters to isolate the drop point. I would also leverage tools like tcpdump, ethtool, and maybe eBPF to trace packet traversal, cross-referencing configuration state to identify misconfigurations or bugs.

Explain the differences between kernel-space and user-space networking, and when you would choose DPDK over kernel networking.

Kernel networking offers robustness and a rich protocol stack, but it introduces overhead due to context switches, the socket layer, and skb allocation. DPDK bypasses the kernel, using poll-mode drivers and hugepages to achieve high throughput and low latency. I would choose DPDK for high-performance data plane applications such as vSwitch acceleration or NAT, where line-rate processing is critical; otherwise, kernel networking is preferred for its maturity and ease of development.

How do you ensure high-quality, secure, and performant code when contributing to open source projects?

I follow rigorous engineering practices: write comprehensive unit tests and integration tests, use static analysis tools, and ensure documentation is clear. For security, I follow best practices like input validation, avoiding buffer overflows, and keeping dependencies up-to-date. Performance is considered from the start—I profile code early and optimize only when necessary, always respecting the project's coding standards and reviewing feedback from maintainers.

Describe a time when you had to collaborate with a global, distributed team to meet a tight deadline. How did you manage communication and ensure success?

In my previous remote role, we had to deliver a new feature in a three-week sprint across four time zones. I coordinated by using asynchronous communication tools like Slack and PR reviews, ensuring every task was well-documented and broken down to minimize dependencies. I also scheduled overlapping hours for sync meetings, which allowed for real-time problem-solving. Clear ownership and regular status updates kept everyone aligned, and we successfully delivered the feature on time.

This analysis is generated from the job description. Salary estimates, role characteristics and sample answers are guidance, not employer-provided facts.

Software has moved to play a central role in network technology. From outstanding routing implementations like Bird and FRR to overlay networking technology such as OVN/OVS and Cilium, from kernel with SwitchDev to userspace with DPDK, from P4 to OpenFlow, the relationship between network innovation and software continues to deepen. We are building teams to bring the very best open source networking software to market in a well integrated and opinionated stack that brings the latest hyperscaler innovation to end users and enterprise customers.

We work with networking silicon providers to optimize Ubuntu and related applications for their ASICs, boards and appliances. We aim to provide a complete open source stack for data center networking, from bare metal through virtualization, container and serverless, and also to address IoT networking systematically.

You will have a good chance of success if you are an outstanding software engineer, passionate about networking, with a special interest in the interface of hardware ASICs for acceleration and software for innovation and control. We value experience in open switch initiatives such as SoNIC and DENT, and upstream experience with components such as routing, kernel networking, eBPF, DNS, firewalls and load balancers. Our selection process is rigorous and requires work from the candidate as six to eight interviews over a period of months. We look for excellent academic results and a commitment to quality, resilience, documentation, security and performance in your work.

At Canonical you will have the opportunity to engage with the broader open-source community and industry leading partners in developing future-proof networking solutions. We’re looking for individuals who can help build a thriving community, contribute to a broad range of technologies, and contribute to the deployment of Ubuntu, Ubuntu Core, Private Clouds, MAAS and Kubernetes across a broad range of devices and use cases.

Location: we have network software engineering roles in APAC (Top-of-Rack switches) and Americas (SmartNIC/DPU) time zones.

What your day will look like

  • Work with the most advanced operating systems and network application technologies available
  • Participate upstream and deliver the Ubuntu SoNIC stack
  • Collaborate with public clouds and network silicon providers
  • Design and implement the best software-defined networking experience for the data center
  • Write high-quality, well-designed, fast, secure and well-documented software
  • Debug issues and produce high-quality fixes
  • Collaborate proactively with a globally distributed organization
  • Contribute to technical documentation to make it the best of its kind
  • Display technical leadership internally, towards our partners, and in the open source communities
  • Influence open-source projects and communities
  • Work from home, with global travel twice a year for company events of up to two weeks duration

What we are looking for in you

  • An exceptional academic track record
  • Undergraduate degree in Computer Science or STEM, or a compelling narrative about your alternative path
  • Drive and a track record of going above-and-beyond expectations
  • Knowledge of networking: architecture, design, and protocols
  • Understanding of Linux networking, from kernel to user space
  • Fluency in C/C++ and at least one of Rust, Python or Golang
  • Professional written and spoken English 
  • Experience with Linux
  • Excellent interpersonal skills, curiosity, flexibility, and accountability 
  • Passion, thoughtfulness, and self-motivation 
  • Excellent communication and presentation skills 
  • Result-oriented, with a personal drive to meet commitments 
  • Ability to travel twice a year, for company events up to two weeks each

Additional skills that you might also bring

  • Familiarity with existing open source networking technologies: SONIC / SAI, kernel (e.g. eBPF, AF_XDP), DPDK, Switchdev, OVN, Open vSwitch.
  • Familiarity with data path hardware acceleration protocols and interfaces, such as RDMA, RoCE, iWARP, NVMe, SR-IOV
  • Computer architecture knowledge of x86, ARM, and RISC-V
  • Experience in complex IP network engineering and implementation
  • Experience with virtualization technologies, e.g., QEMU, KVM, etc.
  • Previous contribution to open source projects and community involvement
  • Performance engineering and security experience

What we offer you

We consider geographical location, experience, and performance in shaping compensation worldwide. We revisit compensation annually (and more often for graduates and associates) to ensure we recognise outstanding performance. In addition to base pay, we offer a performance-driven annual bonus. We provide all team members with additional benefits, which reflect our values and ideals. We balance our programs to meet local needs and ensure fairness globally.

  • Distributed work environment with twice-yearly team sprints in person
  • Personal learning and development budget of USD 2,000 per year
  • Annual compensation review
  • Recognition rewards
  • Annual holiday leave
  • Maternity and paternity leave
  • Employee Assistance Programme
  • Opportunity to travel to new locations to meet colleagues
  • Priority Pass, and travel upgrades for long haul company events

About Canonical

Canonical is a pioneering tech firm at the forefront of the global move to open source. As the company that publishes Ubuntu, one of the most important open source projects and the platform for AI, IoT and the cloud, we are changing the world every day. We recruit on a global basis and set a very high standard for people joining the company. We expect excellence – in order to succeed, we need to be the best at what we do. Canonical has been a remote-first company since its inception in 2004.​ Working here is a step into the future, and will challenge you to think differently, work smarter, learn new skills, and raise your game.

Canonical is an equal opportunity employer

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

Apply now >

This job listing has been manually reviewed by the Jobicy Trust & Safety Team for compliance with our posting guidelines, including verification of the company's legitimacy, accuracy of job details, clarity of remote work policy, and absence of misleading or fraudulent content.

Next step

Apply now.

Follow the employer’s application method and review Jobicy’s safety guidance before sharing personal information.

Did you apply?Let us know, and we’ll help you track your application.
Application method

Continue on the employer website

Protect your personal information and never pay to secure an interview or job offer. View safety guidance.

Log in to save
Add alert
Jobs Talent Salaries
Menu