You will learn a lot about what goes into making a distro actually boot, how the different pieces of software are interacting with each other, and how to solve and debug typical issues and kernel panics.
From there, I think many would recommend attempting to make some sort of Kernel Module, even if it's a very basic one that isn't of much use. The experience alone will teach you a lot of valuable skills and knowledge.[2]
Learning some assembler will help as well. There is a great free ebook from the gnu assembler (GAS) project [3]. Assembler will help teach you how the computer is really doing what it does. This is important if you are going to be working closer to the kernel and most of the critical subsystems, be in Linux or the BSD's (even Windows actually). There are many different Assembler languages, but learning some basics in one will help you understand how others work.
[1] http://www.linuxfromscratch.org/lfs/
[2] http://www.linuxchix.org/content/courses/kernel_hacking/less...
[3] http://download.savannah.gnu.org/releases/pgubook/Programmin...