This question comes up from time to time. You may find the answers given in this post of tremendous help: What are the key properties of a great QA team member?
It will be hard for anyone to suggest programs to you unless we know more of your testing environment. Although it may change in the future, we use no automation on our testing team. If I were to learn any programs it would be the basics of what the developers code in so I can better understand the constraints they have to work within.
If I could tell you 1 thing that you need to know, it would be to stay curious. There will be naysayers who will shoot down what you think is important to the quality of the product. Don't be discourage; stay curious in spite of them.