Many years ago I read an article which concluded that people who went to school because they wanted to learn about computers were likely to fail. Those who went to school because they wanted to learn to use a computer to do something (make music) (draw pictures) (control a process) (anything) were more likely to succeed.
To be a successful programmer you need to know two things. You need to know how to program. You need to know the subject your program is about, whether it be accounting, process control, graphics, or any other subject.
I started my computer education in 1962 when I bought the book, "Thinking Machines" by Irving Adler. I have worked with computers most of my life (I'm retired now) and the complexity of what there is to know has grown exponentially and shows no sign of relenting. You will not be able to learn all there is to know about computers. Don't feel bad. Nobody knows that much. This is what leads to "impostor syndrome", the feeling that you are unqualified for the position you were hired for.
leonp92 is correct in saying side projects are the way to go. Start with simple applications. Write something which is useful to you or something which is fun. The satisfaction of seeing your effort pay off will fuel your passion.