Respuesta corta:
Practica, practica, practica.
Respuesta no tan corta:
¿Cómo recuerdas cómo caminar? ¿Cómo recuerdas cómo hablar? Por supuesto, estas habilidades no son exactamente las mismas y no requieren un conocimiento aparentemente enciclopédico (al menos para principiantes), pero estás usando lo mismo: memoria.
Si bien admito que, para los principiantes, la programación puede parecer un tema increíblemente grande cuando comienzas a estudiarla, se vuelve como cualquier otro tema una vez que has aprendido lo básico.
Tan pronto como lo descubrí, comencé a dividir las cosas en trozos cada vez más pequeños (mi propia versión personal de abstracción). De esa manera, algo que parecía difícil de recordar se vuelve más fácil (al menos conmigo lo hace).
Anotar las cosas ayuda más de lo que piensas (después de haber trabajado en Educación, sé que esto puede tener efectos positivos masivos en la retención). Especialmente si puedes ponerlo en tus propias palabras, en lugar de solo copiarlo textualmente. Si puedes parafrasearlo o equipararlo con algo que ya sabes, aún mejor.
Por ejemplo: en C #, los objetos de cadena son inmutables. Esto significa que cada vez que le digo a mi programa que cambie el contenido de un objeto de cadena, lo que realmente sucede es que la cadena original se destruye (técnicamente se coloca en el nivel más bajo del recolector de basura). Exactamente como cuando un artista comete un error al crear una escultura de mármol: no se puede cambiar, por lo tanto, se destruye y se crea una nueva.
No es un gran ejemplo, pero muestra los conceptos básicos de lo que quiero decir.
La documentación de calidad también ayuda. Algo que mi profesor de Programming 101 me dijo una vez me quedó grabado:
Haz tus comentarios detallados. No hasta el punto de la estupidez, pero debes poder escribir comentarios que un no programador pueda entender. De esa manera, sabes que alguien más en el proyecto puede entenderlo perfectamente. Imagine que pasaría meses implementando un sistema, pero usted estuvo involucrado en algún tipo de accidente horrible en el camino al trabajo. A otra persona se le asignará su trabajo, especialmente si está cerca del momento crítico, y si no pueden descubrir qué está haciendo su código, entonces la producción se detiene.
Los buenos libros también son un excelente recurso. Un tutor diferente me dijo una vez que si un libro no tiene un índice (y hay muchos de ellos que no lo tienen), entonces no vale la pena comprarlo.
Google puede ser un recurso increíble, pero tenga en cuenta los codificadores de copiar y pegar. Manténgase alejado de los sitios que solo le dan un bloque de código sin explicación. Prefiero leer un artículo completo sobre pequeños bloques de código, de esa manera te vas sabiendo exactamente lo que el bloque de código debe hacer, cómo lo hace y por qué el programador lo escribió de esa manera.
Espero que ayude