ft, not eveybody need do kernel level programming.
this is depends on what u want to do under linux, an application or kernel hacking. for application, u can go sourceforge to see what they do. u may find an interesting one and add to their development team. u can develop a gui frontend for a tui tool. many many works can be done.
about linux kernel, the "linux device driver" and "understanding linux kernel" are two great book. about user space code, the one i already mention are good.