I've been scripting with Bash in Puppy Linux for at least 6 years.......well enough to create functional utility packages from the ground up, but I wouldn't consider myself to be an "expert". Far from it; I'm still very much a beginner, but I learn 'on the job', and tend to research/teach myself new aspects of Bash coding as & when I feel the need for them.
You're never finished with programming/coding, since due to differing abilities it's impossible to put a time-frame on it & say "Right; I now know it all..." As wee-eddie says, you're ALWAYS learning.
Mike.