Salut !
J’ai moi aussi un peu appris la programmation en autodidacte (html/css/js et maintenant j’apprends python) et je dirais qu’une clé est de se lancer dans des petits projets. C’est bien plus facile de progresser dans ton apprentissage en réalisant quelque chose de concret, qui soit à la fois intéressant à faire pour toi et accessible.
Pour te donner des exemples personnels, étant assez fan du jeu League of Legend j’ai fais quelques petits projets autour de ce jeu. Quand j’ai appris Js j’ai fais un petit site avec un serveur node.js qui simulait la phase de pick et ban du jeu, l’idée était de pouvoir permettre aux équipes "pro" de s’entrainer entre elles pour la phase de draft. Le projet n’a jamais dépassé le stade de prototype mais c’était sympa à faire et très motivant.
Après pour apprendre php j’ai fais un site qui regroupait toutes les informations sur les skins disponibles dans le jeu, et il y avais eu un petit succès à l’époque (il n’en existe d’ailleurs toujours pas de concurrent de nos jours).
Maintenant j’apprends python dans un but un peu plus professionnel (je suis étudiant en finance et j’aimerai bien mettre en pratique mes connaissances en analyse de données), mais toujours avec des petits projets. Là je m’entraine à faire des régressions linéaires simples et des petits scripts qui calculent les indicateurs statistiques qui m’intéressent sur des données boursières brutes.
Bref, l’idée est d’apprendre chaque petit truc avec un petit projet adapté, que tu prendra plaisir à réaliser !
Après je précise que j’apprends la programmation en temps qu’amateur, et que je n’ai clairement pas pour objectif d’y atteindre un niveau professionnel. Je ne sais pas trop quel est ton objectif ! Si tu veux en faire ton métier, je crois qu’on a ici quelques dev autodidactes qui pourront sans doute te renseigner mieux que moi sur leurs expériences.
je te conseille vivement de participer, même si ce n’est pas de manière régulière, à des projets open-source.
Cela demande en général un minimum de maitrise de ton langage, et d’avoir quelques connaissances sur git, le workflow utilisé, souvent les outils de build associé à un projet, et aussi de parler un minimum l’anglais. Ce n’est pas forcement évident de participer à un projet open source quand on est vraiment débutant je pense !