#1 Job Board for tech industry in Europe

  • Job offers
  • All offersWarszawaCMid/Senior Linux Software Engineer with Networks
    Mid/Senior Linux Software Engineer with Networks
    C
    CodiLime

    Mid/Senior Linux Software Engineer with Networks

    CodiLime
    Warszawa
    Type of work
    Full-time
    Experience
    Mid
    Employment Type
    B2B
    Operating mode
    Remote

    Tech stack

      C++

      regular

      Networks

      regular

      Linux

      regular

      C

      regular

    Job description

    Online interview
    Friendly offer

    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 300+ 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 are working with the latest technologies of modern networking. We create user-space and kernel-space drivers for advanced network equipment such as switches, routers, and smart network interface cards, such as smartNICs, IPUs, and DPUs, and integrate them with NVF and cloud-native platforms.

    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
    • We work with clients in the US, Asia, and Europe
    • Our projects are typically 3-9 people


    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, Go, or Rust may be used occasionally.
    • Take part in building and expanding the technical knowledge base & share the knowledge with your colleagues
    • 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 Linux Device Driver Engineer, you must meet most of the following criteria:

    • Proficiency in C/C++ programming language
    • 2+ years of experience in Linux low-level programming
    • Strong understanding of operating system concepts, especially Linux kernel internals
    • Experience with Linux network development and debugging
    • Good networking knowledge
    • Experience with Linux networking stack, including TCP/IP, UDP, sockets, etc.
    • English at least B2 level, C1/C2 preferred

    Beyond the criteria above, we would appreciate:

    • Knowledge of communication interfaces such as PCIe, SPI, I2C, UART, DMA, GPIO, Ethernet, etc.
    • Experience in developing network features (Ethernet, TCP/IP, routing, etc.)
    • Familiarity with network hardware and interfaces such as PHYs, MACs, VLANs, bridges, etc.
    • U-boot configuration and development
    • Experience with ARM systems development
    • Experience with driver/firmware development for embedded systems
    • Ability to analyze and troubleshoot kernel panics, system hangs, and other low-level issues
    • Experience with user-space driver development using the DPDK library
    • Experience with network OS (e.g. SONiC)


    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