I think you have found two problems that many people will bump into: (1) there are two many subfields to keep track of everything; (2) in any particular subfield there are people who seem to be infinitely much better than you are :).
Both are true: there are simply too many subfields if you want to excel in all of them, for any particular subfield there are people who are much better than you are, because most of them have invested a lot of time to become an expert.
My first advise would be to get the basics right: many commonly-used algorithms and data structures haven't changed the last 20-50 years. If you know then inside-out, you know what to pick to solve a problem. Get a good book on Algorithms & Data Structures or follow a course or two.
My second advise would be to pick the area that interests you the most. Read the foundational books, follow the leaders in the field, and do projects (they are good practice and help you to build a portfolio). Put a strong filter on the stuff that irrelevant to your chosen area (only read the most interesting bits). You will find that you quickly change from novice to expert in your area.
When it comes to programming languages: it's fun and useful to know some languages. But in the end what you ship is more important. So, just pick a language that feels natural for solving the problem and don't get too distracted by armchair PL philosophers ;).
Its important to remember that the internet amplifies experts, they get a big stage. What you see in tech are lots of very smart people in a very tight bell curve.
Very smart compared to the general population. But in comparison to each other there is difference, but not as much as you think.
Its easy to say don't worry about it. So i will add. Remember, even the experts only have time for at best 1 job at a time. They have lives to live too, make sure you live yours.
Both are true: there are simply too many subfields if you want to excel in all of them, for any particular subfield there are people who are much better than you are, because most of them have invested a lot of time to become an expert.
My first advise would be to get the basics right: many commonly-used algorithms and data structures haven't changed the last 20-50 years. If you know then inside-out, you know what to pick to solve a problem. Get a good book on Algorithms & Data Structures or follow a course or two.
My second advise would be to pick the area that interests you the most. Read the foundational books, follow the leaders in the field, and do projects (they are good practice and help you to build a portfolio). Put a strong filter on the stuff that irrelevant to your chosen area (only read the most interesting bits). You will find that you quickly change from novice to expert in your area.
When it comes to programming languages: it's fun and useful to know some languages. But in the end what you ship is more important. So, just pick a language that feels natural for solving the problem and don't get too distracted by armchair PL philosophers ;).