So if I switch to automation testing then do I have to code? If yes then what level of coding will be required ? Being a person with less interest in programming, should I go for automation testing?
Well yes automation by definition means some level of programming. Even when using visual tools to build cases you quickly run into the need to organize tests and test suites and before you know it you are effectively programming.
That said there is some middle ground. For example both seleniumIDE and GhostInspector are tools that can be used very effectively for automation. Ignore their record and play option - that's a non starter from the start. You can build test cases with these tools using good practices such as robust element identification, Page Objects (through js variables) and happy/sad/optional paths.
If you are using an actual programming language / framework to write tests however, for example Ruby-rspec-capybara you will quickly find yourself drawn into your companies coding community and spending less time focusing on representing the customer viewpoint. I have found that there is a trade-off.
You can do both if you make sure you maintain a focus on user experience, usability, accessibility, understanding the business domain and the customers in additional to the demands of programming. It's not easy to do both and many folks find they have to focus on one. The perceived value of an automater over a manual tester in terms of salary is a huge deal - even if a manual tester is actually found to be be finding more bugs.