Job Description:
• Produce and maintain the Linux Kernel for Rocky Linux.
• Work with the Development team to define software requirements and lead operational and technical projects.
• Build and maintain a kernel live patch process.
• Lead the design, development, and maintenance of Linux kernel components for CIQ products and services.
• Collaborate with cross-functional teams to gather requirements and translate them into efficient and scalable kernel designs.
• Write high-quality, modular, and well-documented code in C and other relevant languages.
• Develop and maintain kernel live patching infrastructure, automation, and tools.
• Debug and resolve complex kernel-level issues, including memory management, process scheduling, and inter-process communication.
• Collaborate with hardware engineers and stakeholders to integrate kernel components with hardware platforms.
• Evaluate advancements in the Linux kernel community and relevant technologies.
• Review code submissions and provide constructive feedback.
• Conduct performance analysis and optimization of kernel components.
• Document design decisions, APIs, and processes.
• Provide guidance and mentorship to junior developers.
Requirements:
• A passion for Linux and open source software, with a strong commitment to delivering high-quality, reliable products.
• Proficiency in C programming and a deep understanding of low-level system programming concepts.
• Strong debugging and troubleshooting skills to identify and resolve complex kernel-level issues.
• In-depth knowledge of Linux kernel internals, file systems, device drivers, kernel module development, and kpatch operation.
• Familiarity with hardware platforms and architectures, including x86 and ARM, and their interactions with the Linux kernel.
• Strong problem-solving and analytical skills with the ability to propose innovative solutions to technical challenges.
• Excellent communication and collaboration skills to work effectively in a team-oriented environment.
• Self-motivated and able to work independently, manage priorities, and meet project deadlines.
• Bachelor’s or Master’s degree in Computer Science, Engineering, or equivalent Experience.
• Minimum of 5 years of experience in Linux kernel development, with a strong focus on system-level programming and device driver development.
• Extensive experience in designing and developing Linux kernel components, including process management, memory management, and inter-process communication.
• Experience with version control systems, preferably Git, and collaborative development workflows.
Benefits:
• Medical, dental, and vision insurance.
• Flexible paid time off.
• Employee stock options.
• Remote work; no travel required for most positions.