For software tester, I assume you aim not at career in manual testing, but in testing automation.
It is special kind of programming, where you automate interaction with (in most cases) web-based application, making sure that results are as expected - that's why gurus like Cem Kaner prefer to use "automated checking" for this activity - it is done by computer. What manual testers do, Cem prefers to call "sapient testing". You need to understand the problem area, to be able to see that results on screen are not what they should be if application worked correctly.
Both testers are important, and you cannot automate process if you cannot perform it manually. You automate subset of activities which make economic sense (because automating consumes resources first, then later saving them if you perform same test repeatedly).
For test automation, you need to learn programming language (to write tests in). Python is excellent choice. Especially as beginner programmer, you will be substantially more productive in Python than in say Java. There are free Python courses all over internet. And later, when you know python: tool to allow Python program to pretend it is a user of tested website is Selenium.