Get to know us better
CodiLime is a software and network engineering industry expert and the firstchoice service partner for top global networking hardware providers software providers and telecoms. We create proofsofconcept 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 weve kept our peopleoriented culture. Our values are simple:
- Actto deliver.
- Disruptto grow.
- Team upto win.
The project and the team
We develop modern Softwaredefined Networking (SDNs) and network operating systems for leading networking equipment manufacturers. We work with cloudnative containerized software and services as well as with userspace and kernelspace drivers for advanced network equipment such as switches routers and smart network interface cards (smartNICs).
We are looking for an engineer with a background in device drivers and OS programming to develop and tailor a network operating system for our clients devices.
What else you should know:
- We often work using clientsupplied hardware and tools
- Our projects may be managed by our EMs 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:
- Research and define how to implement client requirements and ideas best
- Take part in technical discussions with the team and the client
- Develop software using mainly C/C but other programming languages such as Python or Go may be used occasionally.
- 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
- Occasionally take part in technical presales meetings
Do we have a match
As a Kernel Device Drivers Engineer you must meet most of the following criteria:
- Proficiency in C programming language
- Experience with other programming languages (C Go Python)
- 2 years of experience in Linux device driver programming (e.g. device driver model platform MultiFunction Devices MFD Auxiliary Bus PCI I2C SPI GPIO LED drivers device tree ACPI)
- Good knowledge of git ( submodules subtrees merging rebasing) in large code base
- Build system knowledge (kbuild make )
- Network knowledge (L3/L2/L1 ethernet )
- English at least B2 level C1/C2 preferred
Beyond the criteria above we would appreciate the nicetohaves:
- Experience with SONiC/yocto/buildroot
- Package manager knowledge
- System and Service Manager knowledge ( systemd supervisord)
- Virtualization knowledge ( docker containers )
- Experience with networking devices (switches routers)
- 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 handson 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