Check out Coderbyte if you really want to try your hand at solving some intense programming problems.
Random Quote:
Telling a programmer there’s already a library to do X is like telling a songwriter there’s already a song about love. — Pete Cordell