Senior C Software Engineer

The WinDriver device driver development tool supports any device, regardless of its silicon vendor, and enables you to focus on your driver’s added-value functionality, instead of on the operating system internals. WinDriver’s driver development solution covers USB, PCI, PCI Express.

Job description:

  • Implementation of new features and product releases, in both Kernel Mode and User Mode and under a wide array of programming languages, operating systems and platforms.
  • Issue bug resolution and sustaining support of existing releases
  • Identify bottlenecks and bugs, and devise solutions to these problems
  • Help maintain code quality, organization and automation

Requirements:

  • +5 years of experience in C development
  • Experience working in Linux/Windows environmentComputer Science/Electronic Engineering/similar bachelor’s degree
  • Previous experience with kernel driver development – must
  • Previous experience with at least 3 of the following subject:

– FPGA Programming (Vivado / Quartus – advantage)

– Linux kernel compilation and modification

– KMDF or WDM frameworks (Windows)

– Debugging with GDB/LLDB/WinDbg

– DriverKit / IOKit (MacOS

– Porting code between platforms and OSes (Linux <-> Windows, x86_64 <-> ARM64 etc.)

– Experience with Virtual Machines and Virtual Devices (QEMU – advantage)

– Writing automation scripts using bash/Powershell

– Ability to analyze and recreate bugs from logs

  • Self-learning capabilities
  • Highly motivated
  • Excellent communication skills (in English, other languages – an advantage)

Advantage:

  • Knowledge in any of the following languages: C++, C#, Java, Python, Bash, PowerShell, Swift, JavaScript, Qt/QML
  • Experience with reverse engineering (IDA)
  • Experience with computer hardware
  • Working in MacOS environment 
  • Kernel Debugging- advantage

Apply


    Skip to content