The #kernelnewbies irc channel gets visited regularly by people who would like to get a job as a kernel hacker, but are not sure how to get such a job. There are entry-level kernel jobs, but most often you need some experience working with Linux.
First, make sure you actually want to have a job as a Linux kernel developer. Read KernelDevViewpoint to get an idea of what it's like to be a kernel developer.
To get a job in Linux, you'll need to be experienced in using Linux. Try out a Linux distribution on your home machine(s) and just play around with it. If you're a student, use Linux machines at your university, or help out with maintaining the university Linux/Unix labs. Knowing command line basics will help you get a job. Most importantly, you'll need to know how to [:KernelBuild:build and install] your own kernel.
It can help (but isn't necessary) to have background as a Linux system admin. In that job, you get to fix problems by trying out new software, finding and fixing bugs and trying out new features (eg. LVM) when they become available. This makes you familiar with many aspects of the Linux kernel and other parts of the Linux system. More important still, it gives you some of the problem solving skills, and patience, needed to be a kernel hacker.
It's also helpful if you can show you have experience reporting Linux kernel bugs and testing fixes. One way to help out is to [:KernelBuild:build] the latest kernel, test it, and report any issues. That way, you'll get a feel for how real kernel developers triage bugs, along with what sort of information they need to debug the system. Try to stay objective about what the cause of the bug is when you report a bug. Report all information and debugging you did first, without trying to attribute what the cause is. Then state what you think the problem is, and possibly post a patch. That way you won't bias the maintainer from seeing what the real root cause of the bug is.
When applying for entry-level Linux kernel jobs, one of the biggest factors is if you have ever submitted a patch before. If you have code in the Linux kernel, you're more likely to get hired. However, note that simply getting spelling fix patches in the kernel isn't enough. Your potential employer will be looking at the Linux kernel git history, and they will be able to tell if your submitted patches have any meat to them.
The best way to get a job in kernel development is to spend some spare time (or get a professor to give you credit/grants for) hacking on the Linux kernel. If you'd like to try that, see the [:StartKernelHacking:getting started in kernel hacking] page.
Participate the [http://lkml.org linux-kernel mailing list] and stay aware of what is going on in the Linux kernel development community.
* Find bug reports on the linux-kernel mailing list or the [http://bugzilla.kernel.org/ Kernel Bug Tracker] and help fix them. In the beginning you may be restricted to helping reproduce the bug and tracking down what is roughly the cause of a bug, but after a while you will become familiar with the source code and will be able to fix bugs yourself.
* Once you are a proficient bug fixer, chances are you have become familiar with one or more of the Linux kernel subsystems. You will be able to help with new developments in this kernel subsystem and people will start recognizing your name. This would be a good time to start applying for that kernel hacker job, since people are already running your source code.
Don't be disappointed by the fact that this process can take several years - all the steps involved with getting the needed experience are fun and useful, and you may even run into an even more fun career choice along the way!