
Open Source Networking Software Engineer - ToR Switch / SmartNIC / DPU
Canonical · APJ
- Remote
- Full-time
- $120,000 / year
Job highlights
- Develop open source networking software for data centers.
- Optimize Ubuntu for network silicon providers.
- Collaborate with open source communities and partners.
- Design and implement software-defined networking solutions.
- Work remotely with global travel opportunities.
About the role
About the Role
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.
Key skills/competency
- Open Source Networking Software Engineer
- Networking Protocols
- Linux Kernel
- DPDK
- eBPF
- SONiC
- C/C++
- Rust
- Python
- Golang
Skills & topics
- Open Source
- Networking
- Software Engineer
- Ubuntu
- Linux
- C++
- DPDK
- eBPF
- SONiC
- SmartNIC
How to get hired
- Tailor your resume: Highlight open-source contributions, networking protocols, and C/C++ skills.
- Showcase academic excellence: Emphasize strong academic results and any advanced degrees.
- Demonstrate passion: Articulate your interest in networking hardware-software interfaces.
- Prepare for rigorous interviews: Expect multiple interviews focusing on technical and behavioral aspects.
- Highlight Linux expertise: Detail your experience with kernel to user space networking.
Technical preparation
Behavioral questions
Frequently asked questions
- What is the location for the Open Source Networking Software Engineer role at Canonical?
- This role has network software engineering positions available in APAC (focusing on Top-of-Rack switches) and Americas (focusing on SmartNIC/DPU) time zones. While it's a remote-first company, these are the primary regions of focus for this specific role.
- What programming languages are required for the Open Source Networking Software Engineer position?
- Fluency in C/C++ is mandatory. Additionally, proficiency in at least one of Rust, Python, or Golang is required for this Open Source Networking Software Engineer role.
- What is the expected academic background for this role?
- Canonical looks for an exceptional academic track record, ideally with an undergraduate degree in Computer Science or STEM. However, a compelling narrative about an alternative path will also be considered.
- Can you describe the interview process for the Open Source Networking Software Engineer role?
- The selection process is rigorous and typically involves six to eight interviews conducted over several months. This thorough process allows Canonical to assess candidates comprehensively for this specialized role.
- Does Canonical offer remote work for this position?
- Yes, Canonical has been a remote-first company since its inception. You will work from home, with the expectation of global travel twice a year for company events.
- What kind of networking experience is most valued for this role?
- We value a passion for networking with a special interest in the interface of hardware ASICs for acceleration and software for innovation and control. Experience with open switch initiatives (like SONiC and DENT) and upstream experience with routing, kernel networking, eBPF, DNS, firewalls, and load balancers are highly valued.
- What is the learning and development budget at Canonical?
- Canonical offers a personal learning and development budget of USD 2,000 per year for all team members to support continuous growth and skill enhancement.
- Are there opportunities for career growth at Canonical?
- Yes, Canonical encourages engagement with the broader open-source community and industry-leading partners. This role offers the opportunity to develop future-proof networking solutions and contribute to a thriving community, fostering significant career growth.