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).