Senior C/C++ Linux Team Lead / Remote / Distributed Systems
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.