I think this is basically the whole story. I think the fact that I have learned several programming languages (not expert level, but certainly to the point I can use them to make projects that benefit my life and the lives of others) has fooled me into thinking I should know a lot more about programming than I do. But if I'm honest, what I have essentially done is taken a bunch of 100 level programming courses, just in a variety of languages. I need to spend time studying the more difficult concepts that can be applied to all languages. Thanks for the advice! :)