Don't be too hard on yourself... 'twas a fair mistake. GRUB, the other main Linux bootloader *doesn't* need to be rerun... 50/50 chance I s'pose.
How do I pick the Linux brain?
Mostly by reading a lot, and using it a lot. But it's a bit of a step between using Linux and coding for it. Check out the HOWTOs and docs at www.linuxdoc.org. Most of the apps have their own website, mailing lists, newsgroups where you can find information (if man or info don't tell you enough).
As for simple drivers and programs, you really need C. You can code apps in pretty much any language (Perl, Python, Shell Scripts, Java, C++, Tk, etc) but most of the core Linux application code out there is C. Any drivers probably need to be in C, if they interact with the kernel. Because the source code is available, you can take a look at someone elses work and figure out how they did it, which helps a lot sometimes.
<i>I used to have a girl, but then I got my CS degree...</i>