Senior C/C++ Linux Team Lead / Remote / Distributed Systems

Remotely
Full-time
Part-time

We're seeking an experienced Senior C/C++ Developer to lead our technical team in designing and implementing high-performance infrastructure solutions for enterprise clients. As a Team Lead, you'll manage a specialized team of Linux system developers while architecting distributed, fault-tolerant storage systems that handle mission-critical data. This position requires deep knowledge of Linux kernel operations, networking protocols, and system architecture to create robust, scalable solutions.


Key Responsibilities

- Build and lead a focused development team of 3-5 software engineers, providing technical guidance, mentorship, and code reviews.

- Set clear technical objectives, distribute tasks effectively, and ensure timely delivery of high-quality software components.

- Architect and develop sophisticated C/C++ applications for Linux environments, with emphasis on system-level programming.

- Design and implement performant, scalable software components for distributed storage systems.

- Troubleshoot complex issues within the Linux kernel, networking stack, and application code.

- Optimize system performance for low-latency, high-throughput operations in enterprise environments.

- Identify, track, and resolve code defects through systematic debugging and testing processes.

- Create comprehensive technical documentation including architecture diagrams, API specifications, and developer guides.

- Collaborate with QA engineers to establish effective testing procedures and quality controls.


Required Skills

- Minimum 3 years of experience leading development teams, demonstrating strong technical leadership capabilities.

- Advanced proficiency in C/C++ programming (C17/C++20 standards), with at least 5 years of professional development experience.

- Extensive background in system-level programming, including OS development or kernel development.

- Deep understanding of Linux kernel principles, particularly memory management, process scheduling, and I/O operations.

- Thorough knowledge of Linux networking stack implementation and socket programming.

- Solid grasp of x86 server architecture, including processor communication, memory hierarchy, and PCIe subsystems.

- Demonstrated experience developing drivers, services, or system applications for Linux environments.

- Strong expertise in designing and implementing multi-threaded applications with proper synchronization mechanisms.

- Proficiency with asynchronous programming models and event-driven architectures.

- Advanced Git version control skills, including branching strategies and merge conflict resolution.

- Experience with modern CI/CD pipelines using GitLab CI, Jenkins, or similar platforms.


Why Join Us

- You'll have the opportunity to design systems that power enterprise operations, while working with the latest technologies in system programming. 

- We offer competitive compensation, flexible remote work arrangements, and a collaborative environment where your technical expertise and leadership skills will be highly valued. 

- This role provides excellent growth opportunities as you shape the direction of our core technology and mentor the next generation of system developers.