Senior Software Engineer (Linux Storage Systems)
Employment: Full-time
Duration: Long-term
English: Upper-Intermediate (B2+)
Tech Stack: C, Linux, Storage Systems, Go (nice to have)
About the Role
We are looking for an experienced Senior Software Engineer with strong expertise in C programming and Linux systems to join a long-term project focused on developing and optimizing low-level storage software.
The ideal candidate has a solid background in Linux internals, system-level programming, and storage technologies, with a passion for building reliable, high-performance software solutions.
Key Responsibilities
Design, develop, and maintain system-level software using C on Linux.
Work on storage-related components, services, and infrastructure.
Analyze and optimize system performance, memory usage, and I/O operations.
Debug complex issues involving Linux internals, concurrency, and storage subsystems.
Develop reliable, scalable, and maintainable low-level software.
Participate in architecture discussions, code reviews, and technical decision-making.
Collaborate with cross-functional engineering teams to deliver high-quality solutions.
Requirements
5+ years of professional software development experience, preferably in system-level programming.
Strong hands-on experience with C programming.
Deep understanding of Linux operating systems and internals.
Experience developing or maintaining storage-related software.
Solid knowledge of memory management, multithreading, synchronization, and concurrency.
Understanding of Linux file systems, block devices, and I/O operations.
Strong debugging, troubleshooting, and performance optimization skills.
Familiarity with Git and modern software development practices.
English proficiency at Upper-Intermediate (B2+) level or higher.
Nice to Have
Commercial experience with Go / Golang.
Experience with distributed storage systems.
Knowledge of Linux kernel development or kernel modules.
Familiarity with storage protocols and technologies such as NVMe, SSD, RAID, or iSCSI.
Experience with performance profiling and debugging tools (GDB, perf, Valgrind).
Experience with high-performance or fault-tolerant systems.
What We Offer
Long-term, full-time project.
Opportunity to work on technically challenging Linux storage solutions.
Collaboration with experienced software engineers.
Involvement in complex system-level engineering tasks.