Respondendo ao título: Sim, é normal não compreender bem o código no início de sua carreira. Digo até mesmo com bons anos de experiência (código legado / arquitetura Go Horse kkkkkk). Pense bem, você é um engenheiro iniciante, e pega um projeto auxiliado por outro engenheiro mais experiente. A planta quem fez foi o engenheiro mais experiente, ele entrega pra você, obviamente ele vai te explicar algumas coisas, mas em um primeiro momento você não entende quase nada daquela planta, por que? simples, ali estão anos de experiência como profissional naquela área.

Não é diferente da área Dev. Todo tutorial que você vê, acompanha, textos etc, são feito por profissionais com anos e anos de experiência, que já passaram pelo tal go horse, projetos legados, experiências de código ruins, entre outras coisas. É evidente que você não vá compreender anos e anos de experiência em um único vídeo (até pode), e isso vem com o tempo de estudo mesmo, anos e anos de prática. Quem falou que programação é fácil pra você é porque nunca pegou um projeto de VERDADE, que atuou em projetos de alto risco e/ou criticidade.

Então é isso, não fique muito preocupado com isto, eu me preocupei por anos, infelizmente descobri isso na prática kkkk. Se você quer ajudar em algo, veja pequenas funções / métodos, no que pode melhorar, se o cara está utilizando FOR ao invés de FOREACH em uma coleção (coisas simples mesmo), tudo isso, com alta concentração você vai conseguir contribuir com projetos de boas, mesmo que no início pareça pouco. Enfim, boa sorte.