Advice for an average developer

Thank you so much for your wonderful answer @fjmac. I agree with your approach and I’ve tried it before but I always end up solving these problems in a naive way and not the best way. For example I tried to make a Search Engine like Google once and I had no idea what indexing was and how Google did it first (Reverse Index + PageRank). I ended up creating a very silly and highly inefficient version of it. When I realized that it was too slow for any practical purposes, I deleted the project, lookup up how it’s done and then implemented it properly using Reverse Index and PageRank.

What I’m saying is I’ve tried this approach and ended up with a lot of naive code. It’s like I couldn’t find the best way to do things myself. Maybe I missed something or maybe I should’ve given more efforts.