Automated testing requires knowledge of at least one programming language that allows the creation of test scenarios.
Testers do not need to be able to make the recommended changes. They simply carry out automated tests. On the other hand, Java programmers or other programmers must implement the changes indicated by their colleagues. However, in order for the programmers to have something to implement, the tester himself must write a script that checks the functionality of the website or application. And this cannot be done without the knowledge of a programming language.