By Joel Savitz
The operating system is at the center of open source innovation, but a surprising number of college students lack exposure to this domain and, in particular, lack comfort with the Linux kernel. As a result, there’s an industry-wide shortage of qualified entry-level candidates for systems programming and operating system engineering roles.
Enter the Kernel Development Learning Pipeline (KDLP) program, created and run by Red Hat engineers and open to everyone. KDLP aims to bridge the gap between beginner resources and advanced documentation to make the industry-standard Linux kernel and its ecosystem more accessible.
Creating a strong talent pool
We started KDLP in response to engineers and managers at all levels who have emphasized the urgent need to bring new talent into Linux kernel development and the operating system engineering space. The knowledge held by senior engineers needs to be passed on, and quickly. Our own experiences with mentorship illustrate the importance of creating opportunities to share knowledge with newer engineers.
To meet this need, KDLP developed an original for-credit graduate and undergraduate course entitled “Introduction to Linux Kernel Development” at the University of Massachusetts Lowell. Professor William Moloney of the Computer Science Department has been instrumental in the class’s evolution from a small, directed study to a mainline computer science course. “While all of our upper-class CS majors are required to take an Operating Systems course, many have expressed a strong interest in acquiring more expertise in this area,” he said. “The course has opened up a new avenue for these students to put theory into practice.”
Students receive instruction in developing character driver modules, compiling and installing the Linux kernel from source, and peer review of fellow students’ code. The course gives students hands-on experience working with internal Linux kernel APIs for hardware access, memory management, DMA and interrupts, and other kernel features. It also provides an overview of some of the core features and components of the kernel, such as scheduling, system calls, the boot process, and hardware description trees. Understanding the inner workings of the operating system and how to make changes to it gives students an invaluable perspective that will apply to any future software engineering practice.
The course emphasizes the collaborative aspects of software engineering, a critical skill for any successful industry engineering career and one for which existing curricula are lacking. In the words of one former student, “I felt that the instructors genuinely cared about getting students ready for not only real jobs in the real world but also getting students ready to contribute to the world of free and open source software.”
Mike McGrath, Vice President, Core Platforms at Red Hat, sees the benefit from the business perspective: “Talent is everything in this industry. The next generation of kernel developers are just now coming of age and we need these bright minds to get started now. The KDLP provides much-needed bootstrapping to get people who know how to code to apply that skill to the kernel. I’ve been happy with the program’s results as many students come out ready to code, and some are even immediately hirable. That’s a win-win for me.”
Of the students we’ve mentored so far, several have gone on to internships at Red Hat, and at least three have been hired by Red Hat full time. Others have gone on to work at places like Amazon, Microsoft, and Cisco. After each semester, we work with previous students to take what they have learned and contribute to the ongoing improvement of the course. We also provide an opportunity for previous students to act as mentors for their successors.
Growing the program
KDLP is now scaling our program and building partnerships with other institutions. We began by connecting with Shuah Khan from the Linux Foundation, and we are now expanding to create new chapters of our program in countries outside of the United States. For example, the KDLP course is being offered to students at the Technion—Israel Institute of Technology in May 2024.
Learn more on the KDLP website, where we provide our course materials as a resource for free public use, and take a look at our KDLP presentation slides from the Linux Plumbers conference in Virginia in November 2023, which includes a short KDLP video summarizing the impact of our program.
About the author
Joel Savitz is a Linux kernel engineer at Red Hat; he leads the Kernel Development Learning Pipeline.