We are seeking a skilled and motivated Lead Linux System Programmer to join our Platform team. In this role, you will work on the foundational components massively parallel database system. Your focus will be on enhancing system robustness, fault tolerance, and scalability, while providing reliable interfaces for administrators and automation. This role is ideal for someone passionate about Linux internals, system-level development, and deep troubleshooting of complex distributed systems with many moving parts.
Key Responsibilities
• Design, develop, and maintain system-level services and libraries in our large scale, distributed platform written in a variety of programming languages.
• Build robust abstractions for process management, synchronization, and messaging across distributed cluster nodes with a focus on fault tolerance and scalability.
• Diagnose issues like unexpected crashes, hangs, failure recovery problems, performance bottlenecks, or resource leaks.
• Perform root cause analysis work for incidents reported on customer systems.
• Contribute to architectural discussions that shape the platform’s core functionality and long-term scalability
. • Ensure timely delivery of high-impact software initiatives and platform enhancements.
• Collaborate with cross-functional teams to translate operational and business requirements into technical solutions.
• Champion Agile methodologies and CI/CD practices to ensure fast, reliable delivery of platform features.
Required Qualifications
• Bachelor’s degree in Computer Science, Engineering, or a related field (Master’s preferred).
• Minimum of 5 years of hands-on experience in Linux systems programming or software development of production grade services on top of Linux.
• Strong proficiency in C++ (First Preference) OR Python OR Go OR Java OR Node and the ability to work with code written in a variety of languages.
• Experience in system-level programming (directly interacting with the Linux APIs, creating system services, etc.).
• Deep understanding of Linux internals, including kernel interfaces, process/thread management, memory handling.
• Proven ability to diagnose and resolve complex system issues, especially in distributed or clustered environments.
• Experience with Agile engineering practices and CI/CD pipelines.
• Excellent problem-solving skills and attention to detail.
• Strong communication skills and ability to work effectively across teams.
Preferred Qualifications
• Experience with high-performance database systems
. • Knowledge of distributed systems, cluster orchestration, and high-availability architectures.
• Familiarity with configuration management tools and infrastructure automation.