He estado estudiando programación todos los días durante 4-5 horas al día, pero tengo problemas para concentrarme y recordar lo que aprendí. ¿Cómo puedo mejorar?

Tiene problemas para concentrarse y recordar porque no está realmente interesado en el tema. Es muy difícil estudiar cosas que no te interesan.

Pero, también tendría que preguntar, ¿qué estás estudiando en particular? Hay muchas áreas de programación y algunas pueden ser más interesantes que otras. Encuentro la programación web, y particularmente el desarrollo de front-end tedioso. Yo prefiero mucho más back end. Pero tampoco lo hago para ganarme la vida. Yo hago videojuegos. Mucho más interesante, en mi opinión.

Además, ¿cómo estás estudiando? ¿Estás simplemente leyendo manuales, guías y tutoriales? ¿O en realidad estás construyendo cosas? ¿Has probado fuentes estructuradas reales o estás tratando de decidir lo que necesitas saber por tu cuenta? Hay un millón de formas de aprender, puede que necesites encontrar algo diferente.

Para resumir, si estás teniendo problemas, empezaría por ver si hay una forma diferente en la que puedes consumir la información de lo que estás haciendo actualmente. Lo seguiría observando si hay alguna otra área de programación en la que pueda trabajar que pueda despertarle más interés.

La repetición es la clave. La única razón por la que recuerdo la sintaxis y otras cosas fáciles de olvidar, es porque lo he estado haciendo durante tanto tiempo. De lo contrario, probablemente me olvidaría. Me gusta cualquier cosa, si no regresas y revisas de vez en cuando, se desvanecerá. Tengo experiencia en idiomas en los que no programo a menudo. Cuando de repente quiero o necesito, a veces puedo tener dificultades para recordar la sintaxis y recurrir a buscar la documentación necesaria. Un profesor una vez me dijo que cuando programes, debes tener referencias y libros justo a tu lado. Nadie puede recordar todos los detalles oscuros.