I don't think learning programming is the best choice, because it's too easy to get caught up in the details of learning syntax, api, etc. I suggest working with a programmer on real projects and learning how to communicate between each other. If you're not a programmer by nature, which takes A LOT of practice to get good. You'll only become annoying since your suggestions will be uninformed. Learn to give creative suggestions at a level of abstraction, without stepping on a programmer's toes.