Victor, excelente pergunta! To pensando aqui e podem existir vários motivos, mas cavando bem profundamente na minha história, o que mais me dificultou aprender a programar foi decidir ser um programador.
Eu acreditava que eu não conseguiria ser um programador, e como consequência, as minhas ações refletiam isso. Então eu acabava não querendo entender o que eu estava fazendo, eu só "batia as peças umas contra as outras" até o programa fazer o que eu queria que fosse feito. No final fazia... mas novamente, eu não entendia de verdade o que eu estava fazendo e isso claramente inibia a evolução do software.
No momento que decidi que eu queria ser um programador de verdade, onde eu defini que eu era um programador antes mesmo de ter habilidades reais de um programador, as minhas ações mudaram e tudo mudou para melhor dali pra frente.