I am a computer prgrammer who is currently in the greater metropolitan St Louis area. I have always believed computer programming is basically two things:
1. Thinking logically - the most important skill for a programmer and the hardest to learn.
2. Translating logic into whatever language. This translation abstracts your logic into something a computer can understand.