Something that I think most novice programmers should take to heart, and something I wish I had known earlier...when you start out, you want to build something big and new, like a video game, or hell, a Rails site that you think will be the next Facebook clone. Not only is it beyond your ability as a novice, it may not even be a "problem" worth solving, because you don't yet know what's worth solving until you become a bit better at programming. I stopped programming after awhile when I couldn't come close to seeing what I thought were my goals...it's been much easier to do it day-to-day by focusing on the small steps...and after awhile, the big task doesn't seem hard after all.
Meanwhile, programming has a pretty distinct advantage...even if you spend your time mastering seemingly benign and trivial things, such as being better at parsing, function design, or just automation of what you've done before, you're not only learning, but making yourself more productive at the same time...something that's not nothing as you actually begin your grand plan.
Speaking of Feynman and computing and seemingly banal tasks...I've seen only scarce detail of his supervising the "computers" at Los Alamos:
http://longnow.org/essays/richard-feynman-connection-machine...
> Richard's interest in computing went back to his days at Los Alamos, where he supervised the "computers," that is, the people who operated the mechanical calculators. There he was instrumental in setting up some of the first plug-programmable tabulating machines for physical simulation. His interest in the field was heightened in the late 1970's when his son, Carl, began studying computers at MIT.
It's not something he's famous for, but I wouldn't be surprised if such a task was critical to the success of the researchers...I've gone through both his memoirs and hadn't seen much mention of it though. Anyone else have more details?