I currently work as a QA manager for an automation team. I value and hire people that can understand and write tests using programming concepts. We use Silktest which has a language that is roughly based upon C. I can't speak about other QA tools, but in Silktest we have common includes which are functions that we can all share. We have coding standards, and we try to create readable test scripts. We have weekly code review meetings to ensure we are creating consistent scripts. So yes, in my team you would have to "program", but it's not as detailed as in our programming team.
Our QA people need to really understand our business also. To me the scenario creation is a fun time because I get to use my business skills, and then figure out how to invoke the scenarios with the QA tools I know.
We also have manual QA testers. If you join a manual test team you will not program. This team runs through a checklist of items that could not be automated for every release. They also must be strong in business, but not strong in technology.
If you go for QA you want to join a company that values QA. If the company values QA you will be paid fairly well if you do automated QA. Not as well for manual QA. If they don't value QA then the team will have no influence and you don't want to work there anyway. So make sure to ask them how much say QA gets in releases, how involved QA is in each production release, and who QA reports to in the company.