Linux Kernel Mentorship Program: How They Prepared Me For Kernel Development Before I Even Got Accepted

August 25, 2022

There is a general belief, that in an internship, unless it is long you will spend your time learning, and will probably never get to work in any important ongoing project. Because getting acquainted with a new project is tough as they are pretty large and combine years of works.But here in LKMP, I got to send my first patch to production AKA upstream kernel before I even started. The Linux kernel is the biggest software project on the planet with over 25 million lines of code. So how does Linux Kernel Mentorship Program do this?

To select the candidate, they give them several tasks to complete. But unlike anywhere else, they give enough resource materials to learn and complete the tasks at the same time. This learning phase covers many important beginner kernel developers guide. So the candidates who complete the learning phase are almost ready to hack the kernel.

To say generally:

  • Firstly learn how build the project.
  • Then they teach how to change a small part of the project.
  • Then teach how to create a new working module.

With these learned, candidates are already knowledgeable about where "things start" and "things end". Then the mentors encourage the candidates to: fix some documentation or work on test cases. Fixing documentation or tests requires research and the candidate is sort of forced to apply themselves to look into the code to understand the intention of a code. Therefore the candidate gets to send their first patch (git diff) to the community before even getting accepted into LKMP. And thus they get hands on experience on development process and if the patch is good enough, it gets accepted too.

Yes, implementing the process I described up there is not very hard. This not only efficiently tests candidates if they have the correct skills for the work, but also gives them flavor of their work. Which in turns make them curious, confident, passionate and eventually they contribute in the project.


Profile picture

Written by Labnan who enjoys coding silly things You should follow them on Github