I was wondering what stuff do you guys think a CS major/programmer need to know to be competent overall, it can be either languages, concepts, algorithm stuff, math, etc...