Too Long; Didn't Read
Understanding of a programming language is not just knowing the syntax or how recursion works. If you already know that, great! You are past the first hurdle. Next, you need to take up the task of learning the multiple major libraries and packages that are going to be used in any medium to large-scale projects. Look up the relevant libraries of your programming language and devote time to <a href="https://hackernoon.com/tagged/learning" target="_blank">learning</a> them. A good understanding of these will go a long way in helping you understand any code base better.