I can totally understand what you are trying to say because I am more or less in the same boat. But let me tell you that there is no one answer to this problem, you will get mixed opinions and thirdly, don&#x27;t over-stress yourself because you would never be able to know everything about Android.<p>I taught myself Java during Uni, then learnt Android and have a CS masters with around 2-3 years of professional experience but I do feel those holes. I am not good with memory so I also keep forgetting important conceptual things specially when I am preparing for any interview. I also understand that it&#x27;s difficult to revise and review &#x27;the basics&#x27; and &#x27;fundamentals&#x27; while you have your full-day job but somehow it&#x27;s necessary. I recently worked for 6 months in a startup where we were only 2 Android devs. The other guy was very experienced with 5+ years and he helped me a lot in grasping some key concepts in Android. So, if an experienced person is reviewing your code, you will improve a lot. Then try to read a lot of other&#x27;s code specially the best projects which are available open-source. When I used to explore that Android project code written by that guy, I felt like this dude is a Pro and I would never be able to use this stuff in this way because I just didn&#x27;t know about it. So, you realise this missing blocks in your knowledge factory and you won&#x27;t know until you experience.<p>Try to befriend and work with experts because best way to become smart is to work with smart people. I will also start the Android Intermediate course on Coursera so that I can improve my basics and learn things properly with depth. I follow Android news, you come to know about new libraries, famous bugs etc. which again helps you in filling those holes.<p>Best of luck to both of us !