Vous avez un ami qui a appris le métier de développeur web en 2 mois. Il est désormais freelance, réalise des sites web et des applications pour plein de clients. Votre ami est fort. Il est surtout très mythomane. Combien de temps met-on à apprendre le métier de développeur web dans la vie réelle ?
Les différentes variables qui vont déterminer la durée de votre formation
Il est difficile, pour ne pas dire impossible, d’apporter une réponse précise et uniforme à cette question. Il y a plusieurs variables qui font qu’entre deux individus suivant un même cursus de formation, le temps nécessaire pour qu’ils soient enfin “prêts à l’ouvrage” diffère. Par exemple :
- la capacité d’apprentissage : on a beau nous rabâcher depuis tout petit (et encore plus de nos jours) que nous sommes tous égaux, que nous pouvons tous avoir les mêmes rêves, etc…visiblement la nature en a décidé autrement. Certains assimilent plus rapidement que d’autres.
- le rythme de travail que vous vous imposez : la aussi, certains sont plus travailleurs que d’autres, vont profiter de leur temps libre le week-end pour creuser certains sujets ou revoir certaines notions…Forcément, leur rythme de progression est potentiellement supérieur à la moyenne.
Par ailleurs, les cursus d’apprentissage ne sont pas similaires. Certains cursus sont orientés backend, d’autres frontend, ou encore full-stack (ce dernier type de formation est, à mon sens, une aberration, j’y reviendrai).
Quel profil visez-vous ?
Nous allons tout d’abord faire la liste des sujets que doit maîtriser chacun des profils :
Intégrateur web :
- HTML / CSS
- Notions en PhotoShop / Illustrator
- Notions, voire maîtrise relative du JavaScript
Développeur frontend:
- HTML / CSS
- JavaScript
- Maîtrise d’un framework front
- Maîtrise de Git ou autre outil de versioning
Développeur backend :
- HTML / CSS
- Maîtrise d’un langage de programmation
- Avoir au moins des notions sur un framework
- Maîtrise d’un langage de base de données
- Maîtrise de Git ou autre outil de versioning
La maîtrise du HTML/CSS est quelque chose qui prend plus de temps que ce que l’on imagine généralement. Savoir se débrouiller sur du CSS est quelque chose qui s’assimile vite. Mais avoir une vraie maîtrise, savoir concevoir la disposition d’une page en prenant en compte sa responsivité, en ayant une structure propre et fluide qui s’adapte bien en fonction des résolutions…c’est une autre histoire.
La maîtrise d’un langage de programmation est un long travail d’apprentissage. Tout d’abord, il faut se pencher sur l’algorithmie, base de la logique de programmation, valable pour tous les langages. Ensuite, vous allez vous focaliser sur la syntaxe propre au langage que vous souhaitez apprendre.
Pour ce qui est du langage de base de données, le processus est similaire. Il va falloir d’abord apprendre ce qu’est une base de données, comment cela fonctionne, puis ensuite étudier la syntaxe précise du langage, et gérer l’interaction entre le code backend et notre système de base de données.
De la même manière, utiliser un outil de versioning type Git, est, là aussi, quelque chose qui demande de la pratique, et qui demande plus de temps qu’on ne l’imagine avant d’arriver à un réel niveau de maîtrise.
Donnez priorité à la pratique
De façon globale, l’assimilation de ces différentes facultés nécessite avant tout de la pratique. Il y a la phase où vous allez étudier le sujet théoriquement (en lisant / suivant des tutoriels ou des cours, en essayant de comprendre la logique et le fonctionnement), puis, dans un second temps, la phase où vous allez tenter de mettre en pratique ce que vous avez compris. Cette phase est la plus importante. Elle doit arriver vite. Il ne faut pas passer trop de temps sur le théorique.
Dans le développement web, c’est le temps que vous aurez passer sur de l’entraînement pratique qui va réellement déterminer votre progression. Et, le meilleur moyen de s’entraîner sur de la pratique, tout en étant réellement impliqué et persévérant, est de le faire sur un projet concret pour lequel vous éprouvez de l’intérêt. Un projet qui vous motive. Cela peut être un site vitrine pour quelqu’un de votre entourage a qui vous voulez donner un coup de main. Vous avez une idée d’application originale qui, selon vous, pourrait intéresser du monde ? Essayez de développer une version démo (on appelle cela un MVP) de cette application. En alliant apprentissage et développement d’un projet personnel qui vous tient à cœur, vous allez progresser bien plus vite.
La façon dont vous allez gérer votre apprentissage, le formation par laquelle vous allez passer (en école ou autodidacte), la qualité des supports de cours dont vous allez bénéficier, votre motivation…tout cela représente des paramètres aléatoires supplémentaires qui rendent difficile un travail d’estimation fixe vous permettant de savoir combien de temps il vous faudra pour apprendre le métier de développeur web. Cependant, je vais tenter de vous donner une estimation personnelle de ce qui me semble représenter la durée minimale requise pour avoir un minimum d’autonomie sur ces différents profils, et devenir donc un junior:
Intégrateur : 6 mois
Développeur front: 1 an
Développeur back: 1 an
Développeur full-stack: DES ANNEES
Dans le développement web, c’est le temps que vous aurez passer sur de l’entraînement pratique qui va réellement déterminer votre progression […] Et, le meilleur moyen de s’entraîner sur de la pratique, tout en étant réellement impliqué et persévérant, est de le faire sur un projet concret pour lequel vous éprouvez de l’intérêt.
Le fameux métier de développeur full-stack
Une précision sur le profil de développeur full stack: de nombreuses formations vous proposent de vous former au métier de développeur full-stack. Pourquoi ai-je dit plus haut que c’était, selon moi, une aberration ? Un développeur full-stack doit maîtriser tout le processus de création d’un produit web, du stockage des données au développement back et front, en prenant en compte le versioning, les problématiques d’hébergement, de configuration système, voire de conteneurisation… Pour faire simple, cela demande d’assimiler énormément de choses différentes. A mon sens, un développeur full-stack ne peut être qu’un développeur expérimenté. Le terme même de “développeur full-stack junior” n’a, à mes yeux, pas de sens.
A travers ce qui vient d’être dit ici, vous comprendrez donc que, si vous vous lancez dans une reconversion vers le développement web, il faut partir du principe que le fait d’effectuer une formation accélérée de quelques mois ne suffira pas à faire de vous un développeur digne de ce nom. Il faudra soit enchainer deux formation courtes, soit suivre une formation en alternance (celles-ci s’étendent généralement sur une durée plus longue, et le fait d’être en entreprise va vous permettre de progresser plus vite), soit de vous investir de votre coté sur un projet perso qui va vous permettre de faire vos preuves… Pour en savoir plus à ce sujet, je vous invite à lire les différents témoignages de développeurs reconvertis disponibles sur notre blog.
Dans tous les cas, prenez conscience du fait que le métier de développeur web ne peut pas s’apprendre en une courte durée. Et c’est justement sa technicité, l’étendu des connaissances à assimiler et la densité de pratiques nécessaires qui font tout l’intérêt et le charme de ce métier…