Linux Device Driver Engineer for H/W offloading
B2B Contract
Get to know us better
CodiLime is a software and network engineering industry expert and the first-choice service partner for top global networking hardware providers, software providers and telecoms. We create proofs-of-concept, help our clients build new products, nurture existing ones and provide services in production environments. Our clients include both tech startups and big players in various industries and geographic locations (US, Japan, Israel, Europe).
While no longer a startup - we have 250+ people on board and have been operating since 2011 we’ve kept our people-oriented culture. Our values are simple:
Act to deliver.
Disrupt to grow.
Team up to win.
The project and the team
We develop modern networking software and operating systems for leading manufacturers of networking equipment. We work with cloud-native, containerized software and services, as well as with user-space and kernel-space drivers for advanced network equipment, including switches, routers, and smart network interface cards. We excel in the hardware offloading of network features, such as routing, firewalls, and QoS, and augment them with AI capabilities.
We are seeking an engineer with a background in device drivers, OS-level programming, networking, hardware offloading, and system engineering to join our low-level engineering team.
What else you should know:
We often work using client-supplied hardware and tools in a fully remote environment
Our projects may be managed by Codilime Engineering Managers or directly by the client.
Most of our clients are based in the US, so work in the afternoon may sometimes be required
Your role
As a part of the team, your responsibility will be to:
Develop software primarily using C/C++, with occasional use of other programming languages such as P4, Python or Go
Take part in technical discussions with the team and the client to determine how to implement the client’s requirements
Create unit tests for your code, conduct code review, create documentation, and take part in other activities related to software development
Fix bugs efficiently and effectively, and find workarounds for blockers
Do we have a match?
The candidate must meet most of the following criteria:
Proficiency in the C/C++ programming language
Good theoretical and practical knowledge of networking (L2, L3, L4)
Experience in Linux device driver programming in both kernel & user space (especially network drivers)
Experience in working with hardware, preferably network devices
Theoretical and practical understanding of virtualization and containerization
English at least B2 level, C1/C2 preferred
Beyond the criteria above, we would appreciate the nice-to-haves:
Experience with P4 language
Previous experience with the DPDK library
Knowledge of Quality of Service concept in networking
Knowledge of BPF/eBPF and/or the BPF virtual machine in the Linux kernel
Experience in working with Software Houses
More reasons to join us
Flexible working hours and approach to work: fully remotely, in the office or hybrid
Professional growth supported by internal training sessions and a training budget
Solid onboarding with a hands-on approach to give you an easy start
A great atmosphere among professionals who are passionate about their work
The ability to change the project you work on
- Department
- Engineering MOCA
- Role
- Backend
- Locations
- World
- Remote status
- Fully Remote
- Level
- Senior, Mid
Already working at CodiLime?
Let’s recruit together and find your next colleague.