Awesome point. Do you have any reading/strategy you'd suggest? One thing I'm doing is open courseware like CS50 from Harvard. Do you think that sort of work is worthwhile with regard to what you mentioned? Study algorithms? Do topcoder challenges? Project Euler? I'm open to whatever it takes :)