They don't teach you that stuff in college, the only way to become competent is on the job training and years of experience.
I have about as much in common with a guy that does programming as I do with a circus clown.