Lead Programmer (Senior/Team Lead) C/C++ (Linux)

Full-time
Permanent work

A company specialising in solutions for building corporate information infrastructures is in search of a Lead C/C++ Programmer.


Responsibilities:

  • Formation and further management of the development team (3-5 people), setting tasks, control of execution.
  • Development and support of C/C++ software under Linux.
  • Tracking and elimination of errors in the code.
  • Development and support of programme documentation within the scope of tasks performed.


Requirements:

  • Experience in leading a team of developers from 3 years.
  • Strong knowledge of C/C++ - at least 5 years of experience.
  • Experience in system development - system developer, OS developer, kernel developer.
  • Understanding of Linux kernel principles (memory management; network/file/block layer).
  • Good knowledge of Linux networking stack, understanding of operating system abstractions designed to interact with IP networks.
  • Knowledge of x86 server architecture, understanding of the principles of interaction between processors, memory, PCIe devices.
  • Experience in developing applications, services, drivers for Linux in C/C++.
  • Experience in developing multi-threaded and asynchronous applications.
  • Knowledge of Git.
  • Experience with continuous integration systems (Gitlab, Jenkins, Teamcity, Bamboo, etc.).
  • Technical English at the level of reading documentation., SPDK, VS Code).


Would be a plus:

  • Experience interacting with related development teams.
  • Ability to understand legacy.
  • Knowledge of S3/iSCSI/NFS protocols, DPDK/SCST/MPIO frameworks.
  • Understanding of the principles of modern hardware server systems.
  • Experience in developing a distributed, fault-tolerant, highly loaded software-defined storage system (C11, C++11, gdb, dmesg, fio, make, CMake, scsi, NVMe, SPDK, VS Code).