Lately I have been thinking a lot about learning. A lot of that is because I’m currently trying to expand my skill set into programming, so I’m around other people who are learning as I go to user groups and at work, training and developing as a developer has been a hot topic on the internal forum.

In the midst of mulling this over I watched an episode of The West Wing from season five. G and I are currently working our way through the series for a second time, and in this particular episode some right wing congress people are going after National Institutes of Health funded research projects, one of which happens to employ Ellie Bartlet as a research fellow. If you watch the show, then you probably know what I am talking about, but even if you haven’t seen the show, you’ll get where I’m going with this, don’t worry. At least twice in the episode a character points out that doing scientific research is for the research’s sake because you won’t always know where it is going to lead. For example, Einstien didn’t know where he was going, nor did Fleming when he invented penicillin, nor did Darwin when he came up with the theory of evolution. In many of these situations it was the coming together of disparate pieces of information that led to the discovery, as Steven Johnson points out in Where Good Ideas Come From (one of my favorite books).

By now you are asking, what does this have to do with learning to program or learning in general? Well, this week what came to me is that many times I am reading things about new CSS techniques or how to do something in JavaScript and I realize that I have no idea if I’ll use that in a project any time soon. But I still read it. It still goes into my head and I want to learn it for the sake of learning it because in the end I have no idea what I will need to put together to make the next project great. Neither will I be able to forecast what is coming down the pipe at work, so knowing the new things, learning, lets me get ready (hopefully). I have always been a believer in learning for learnings sake, one need only look at my educational background to realize that, but I just now realized that it’s just as important for programming as well. Just as in anything else, it is the disparate ideas coming together that can make something really great.