In order to learn such things, you need to think like an hacker but act as an engineer.
Well I myself, used Kali Linux since 2016, I mastered allmost of them, and yeah you need to learn programming if you want to be well known even it is not, programming is a prerequisite in Pentesting.