Skip to content

Linux Kernel Development Engineer

  • Remote
    • Reno, Nevada, United States
  • $150 - $175,000 per year

Job description

CIQ OVERVIEW

CIQ believes in helping people do great things by providing world-class software infrastructure for others to build value on top of. This includes working closely with open-source communities, securing the software infrastructure, and driving performance throughout the entire stack. We love our customers who are doing things like running a traditional IT infrastructure to building the future of genAI and leading major research and scientific initiatives like curing cancer.


We are looking for individuals who strive to work on teams empowered by ownership, diversity of thought, pushing the limits of what is possible and want to help others.


POSITION SUMMARY

As Linux Kernel Development Engineer, you will produce and maintain the Linux Kernel for Rocky Linux. You need to be familiar with various aspects of kernel support including real-time, embedded, and virtualization. You will work with the Development team to define software requirements and take the lead on operational and technical projects. Additional responsibilities include but are not limited to:

  • Leading the design, development, and maintenance of Linux kernel components for our products/services at CIQ.

  • Collaborating with cross-functional teams to gather requirements and translating them into efficient and scalable kernel designs.

  • Writing high-quality, modular, and well-documented code in C and other relevant languages, adhering to coding standards and best practices.

  • Optimizing kernel code and device drivers to improve performance, stability, and resource utilization.

  • Debugging and resolving complex kernel-level issues, including memory management, process scheduling, and inter-process communication.

  • Collaborating with hardware engineers and other stakeholders to ensure seamless integration of kernel components with hardware platforms.

  • Staying updated with the latest advancements in the Linux kernel community and relevant technologies, evaluating their potential impact on our products and services.

  • Reviewing code submissions from team members and providing constructive feedback to maintain code quality and consistency.

  • Conducting performance analysis and optimization of kernel components to meet specified performance targets.

  • Documenting design decisions, APIs, and processes for future reference and knowledge sharing.

  • Providing guidance and mentorship to junior developers, fostering their growth and development.

Job requirements

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.


EDUCATION AND EXPERIENCE

Bachelor’s or Master’s degree in Computer Science, Engineering, or equivalent Experience. Minimum of 5 years 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.


or