Match score not available

Kernel device drivers engineer with SONiC

Remote: 
Full Remote
Experience: 
Mid-level (2-5 years)
Work from: 

Offer summary

Qualifications:

Proficient in C programming language, 2+ years of experience in Linux device driver programming, Knowledge of network protocols (L3/L2/L1), Good knowledge of git and build systems.

Key responsabilities:

  • Research and implement client requirements
  • Develop software primarily in C/C++ and occasional Python or Go
CodiLime logo
CodiLime SME https://codilime.com/
201 - 500 Employees
See more CodiLime offers

Job description

B2B Contract 13 000 - 23 000 PLN + VAT


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 Software-defined Networking (SDNs) and network operating systems for leading networking equipment manufacturers. We work with cloud-native, containerized software and services, as well as with user-space and kernel-space 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 client's devices.

What else you should know:

  • We often work using client-supplied 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 pre-sales 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, Multi-Function 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 nice-to-haves:

  • 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 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

Required profile

Experience

Level of experience: Mid-level (2-5 years)
Spoken language(s):
English
Check out the description to know which languages are mandatory.

Other Skills

  • Teamwork
  • Communication
  • Problem Solving

Related jobs