CIQ - Linux Kernel Development Engineer
Requirements
• 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.
Responsibilities
• Lead the design, development, and maintenance of Linux kernel components for our products/services at CIQ. • 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, adhering to coding standards and best practices. • Develop and maintain kernel-specific testing and automation tools to improve how we build, test, and release kernels. • Debug and resolve complex kernel-level issues, including memory management, process scheduling, and inter-process communication. • Collaborate with hardware engineers and other stakeholders to ensure seamless integration of kernel components with hardware platforms. • Stay updated with the latest advancements in the Linux kernel community and relevant technologies, evaluating their potential impact on our products and services. • Review code submissions from team members and provide constructive feedback to maintain code quality and consistency. • Conduct performance analysis and optimization of kernel components to meet specified performance targets. • Document design decisions, APIs, and processes for future reference and knowledge sharing. • Provide guidance and mentorship to junior developers, fostering their growth and development. • NEEDED TO SUCCEED • Successful candidates will have: • 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, and kernel module development. • 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.
Benefits
• Flexible paid time off. • Employee stock options. • Remote work; no travel required for most positions.
Apply in one click
Upload My Resume
Drop here or click to browse · Tap to choose · PDF, DOCX, DOC, RTF, TXT