Réponse courte:
Pratique, pratique, pratique.
Réponse pas si courte:
Comment te souviens-tu comment marcher? Comment te souviens-tu comment parler? Certes, ces compétences ne sont pas exactement les mêmes et ne requièrent apparemment pas de connaissances encyclopédiques (pour les débutants, au moins), mais vous utilisez la même chose: la mémoire.
Bien que j'admette que, pour les débutants, la programmation peut sembler un sujet incroyablement vaste lorsque vous commencez à l'étudier, elle devient comme n'importe quel autre sujet une fois que vous maîtrisez les bases.
Dès que j'ai compris cela, j'ai commencé à diviser les choses en morceaux de plus en plus petits (ma propre version personnelle de l'abstraction). De cette façon, quelque chose qui semblait difficile à retenir devient plus facile (du moins avec moi).
Ecrire aide beaucoup plus que vous ne le pensez (après avoir travaillé dans l'éducation, je sais que cela peut avoir des effets positifs énormes sur la rétention). Surtout si vous pouvez le formuler avec vos propres mots, plutôt que de le copier mot pour mot. Si vous pouvez paraphraser ou assimiler cela à quelque chose que vous connaissez déjà, c'est encore mieux.
Par exemple: En C #, les objets String sont immuables. Cela signifie que chaque fois que je demande à mon programme de modifier le contenu d'un objet chaîne, ce qui se produit réellement est que la chaîne d'origine est détruite (techniquement, elle est placée au niveau le plus bas du garbage collector). Exactement comme lorsqu'un artiste commet une erreur lors de la création d'une sculpture en marbre, celle-ci ne peut pas être modifiée, elle est donc détruite et une nouvelle est créée.
Ce n'est pas un bon exemple, mais cela montre l'essentiel de ce à quoi je veux en venir.
Une documentation de qualité aide aussi. Quelque chose que mon conférencier m'a dit une fois m'a collé:
Faites votre commentaire commenté. Pas au point de la stupidité, mais vous devez être capable d'écrire des commentaires qu'un non-programmeur pourrait comprendre. De cette façon, vous savez que quelqu'un d'autre sur le projet peut le comprendre parfaitement. Imaginez que vous passiez des mois à mettre en place un système mais que vous soyez impliqué dans une sorte d'accident horrible sur le chemin du travail. Quelqu'un d'autre se verra attribuer votre travail, en particulier s'il approche du point critique, et s'il ne sait pas ce que votre code fait, la production s'arrête.
Les bons livres sont aussi une excellente ressource. Un tuteur différent m'a dit un jour que si un livre ne possède pas d'index (et qu'il en existe beaucoup, il n'en existe pas), son achat ne vaut pas la peine.
Google peut être une ressource incroyable, mais soyez conscient des codeurs copier-coller. Éloignez-vous des sites qui vous donnent simplement un bloc de code sans explication. Je préfère lire tout un article sur de petits blocs de code, de cette façon, vous partez en sachant exactement ce que le bloc de code est censé faire, comment il le fait et pourquoi le programmeur l'a écrit de cette façon.
J'espère que ça t'as aidé