Nouvel extrait du live Dayclic où on discute de l'apprentissage du métier de développeurs, des formations et de l'autodidacte.
Est-ce que tu peux nous en dire un peu plus sur ton parcours scolaire et professionnel jusqu'à aujourd'hui ? Quelle a été ta démarche et qu'est ce que tu as fait pour en arriver là où tu en es aujourd'hui ?
Personnellement j'ai découvert le dev assez tôt mais ce n'était pas initialement une véritable "passion". Au lycée, j'étais en S (scientifique) et après mon Bac j'ai fait une école préparatoire (Math sup) que j'ai échoué. J'ai tout de même obtenu une correspondance pour entrer en licence 2 de Maths, mais ça ne m'a pas plus. J'ai réalisé un peu trop tard (il m'a fallu deux ans) que je n'aimais pas les maths.
Pendant mon année de Math Sup, j'ai commencé à faire un peu d'animation et de dev avec Flash notamment. C'est avec cet outil que j'ai commencé à créer mes premières vraies lignes de code mais à l'époque j'étais plus dans une optique de travailler dans l'animation 2D et 3D et après la licence 2 de math loupé j'avais postulé dans une école d'animation (SupinfoCom) et je m'étais aussi inscrit en DUT parceque c'était plus accessible financièrement. Finalement, j'ai choisi la sécurité avec l'option DUT et c'est à ce moment là que j'ai vraiment plongé dans le développement web et que j'ai réalisé que j'étais plutôt logique que créatif.
A la suite de mon DUT (équivalent d'un BUT MMI aujourd'hui), j'ai enchainé une licence Pro multimédia mais je n'ai pas continué vers un Master car la formation s'orientait plus vers un profil de chef de projet que de développeur (on s'éloignait de la technique qui me plaisait). Ce qui est bien avec cette formation, c'est qu'elle a pas mal élargi mes horizons.
Ce qui m'intéressait vraiment, c'était le côté dev et la possibilité de créer quelque chose de A à Z. Du coup je me suis arrété à la licence Pro et beaucoup des choses que j'ai appris, je l'ai appris en autodidacte. Ce type de formation (BUT) sont sympas pour se plonger un peu dans le multimédia mais sont un peu trop large par rapport à un DUT informatique où on apprends des choses plus techniques. Dans mon cas, ma formation a été plutôt généraliste, et on n'approfondissait rien. c'est très bien si vous voulez devenir chef de projet / manager parceque vous connaissez un peu tous les domaines mais cela ne correspondait pas trop à ce que je voulais faire.
Du coup pas spécifiquement la nécessité de passer par une école d'ingénieur ou ce genre de chose ? Toi en tout cas ça n'a pas été ton cas.
Il faut voir, que mon cas est un peu particulier vu que je sortais de 2 ans d'échec. Mais il faut savoir qu'en DUT, si on avait de bons résultats, il était possible de faire un pont vers une école d'ingénieur. De mon côté j'en avais un peu marre des études donc je n'ai pas forcément persisté mais c'est une solution possible.
Du coup tu termine ta licence pro et après tu te lance en Freelance c'est ça ?
Pas vraiment. En fait ma licence pro était une licence qui se faisait essentiellement à distance. Du coup pendant cette licence il y avait une entreprise qui proposait un poste et qui avait poster une sorte de petit concours pour postuler. Ce test était relativement accessible (créer un CRUD avec PHP / SQL) du coup je l'ai fait et j'ai eu le poste pendant mon année et ils ont accepté de me libérer 2 / 3 semaines pour finir mes études.
Finalement ce poste n'aura pas trop duré car il y a eu un licenciement économique plus tard mais c'est comme ça que j'ai obtenu mon premier poste, c'était un peu par hasard et le recrutement s'est fait avant tout sur les compétences (à travers l'exercice publié en ligne).
Alors, si on reste focalisé sur cette partie, si aujourd'hui tu devais conseiller une personne qui débute (cela peut être à tout âge puisqu'aujourd'hui les reconversions professionnelles sont tout à fait faisable et il y a beaucoup de passerelles) quel serait le conseil que tu donnerais ? Par quoi commencer pour devenir développeur·euse web ?
Alors j'ai une vision spécifique de la chose aussi je précise que ce n'est pas forcément une réponse universelle.
Moi j'ai une approche plus pratique car je trouve qu'il est plus ludique d'apprendre en faisant. Aussi je conseillerais de commencer par l'HTML et le CSS.
Certaines personnes vont préférer avoir une approche plus "universitaire", en commençant par les bases de la programmation et avec des langages plus bas niveau, mais je trouve que c'est toujours plus sympa de commencer à créer des pages, de voir ce que l'on peut faire à chaque étape, avant de continuer. Cela aide surtout en autodidacte car cela permet de rester motivé tout le long de son apprentissage.
Après l'HTML et le CSS on peut apprendre un peu le JavaScript côté client pour commencer à faire quelques interactions. Mais j'aime bien aussi conseiller le PHP parceque je trouve que c'est un langage qui est plutôt simple qui permet une progression fluide depuis l'HTML (on peut commencer à créer un peu de dynamisme très rapidement).
Par contre, je n'ai pas forcément d'opinion sur l'ordre entre le code côté client et côté serveur. Le mieux est d'essayer un peu les 2 et voir ce qui vous plait le plus.
Au final, cet ordre d'apprentissage c'est le cursus que je propose sur le site. Le problème des "roadmap" que l'on peut trouver sur internet (comme roadmap.sh) est qu'elles font très souvent peur en montrant un nombre trop grand de technologies à connaître. Il y a au final pas mal de choses qui sont anecdotique et que l'on peut voir sur le tas.
Effectivement, si on prend la partie front-end ou back-end de roadmap.sh ils conseillent de partir sur le principe de l'internet avec l'HTTP, les DNS, les noms de domaine... Il est vrai que quand on veut commencer, on veut commencer un peu à pianoter, à se faire quelques pages statiques purement HTML / CSS. C'est un peu dommage de prendre peur avec tous ces termes techniques.
Oui, par exemple on peut créer son premier site, utiliser un mutualisé et déployer le site sans forcément trop comprendre ce qu'est un DNS, une requête HTTP initialement.
Pour moi il y a effectivement des choses que l'on peut apprendre après coup. C'est aussi le reflet de mon expérience, il y a beaucoup de chose que j'ai commencé à explorer beaucoup plus tard dans mon parcours et ça ne m'a pas forcément gêné non plus pour l'apprentissage.
Tu nous dis que tu as surtout appris de manière autodidacte. Est-ce qu'aujourd'hui c'est valorisable ? Comment as-tu pu le justifier auprès de potentiels clients ou d'un employeur ?
Je dirais que la principale problématique ça va être le premier mur qui est de faire lire son CV. Personnelement, j'ai des clients pour lesquels, si je passais par leur dispositif d'entretien, je pense que ma candidature ne serait pas retenue à cause de mon niveau d'étude. Aussi, c'est un peu paradoxale, mais je travaille en freelance pour des clients qui ont des conditions d'embauche qui sont plus élevées que mon expérience... Du coup, c'est cette barrière qui va poser un véritable problème mais si vous la passez vous aurez droit à un entretient et là c'est votre expérience / connaissance qui prime (peu importe comment vous l'avez acquise). Aussi, certaines entreprises sont plus flexible sur leurs conditions d'embauche mais il faut arriver à les trouver.
Pour l'aspect freelance, on ne m'a jamais demandé de diplôme.
Question un peu classique, mais faut-il absolument être bon en maths pour devenir développeur ?
On peut penser que oui car le développement web fait beaucoup intervenir l'esprit logique et les mathématiques peuvent ressembler au développement dans le sens où on nous donne des outils qu'il faut arriver à utiliser pour résoudre un problème.
Mais comme à l'école, où on nous fait résoudre plusieurs fois le même type de problème pour apprendre, l'esprit logique va s'aiguiser au fil de l'expérience et de la répétition. Certaines personnes peuvent avoir des facilités si ils sont bon en maths, mais ce n'est en aucun cas un prérequis. Sauf pour certains type de développement.
Pour le développement web on a au final très peu de mathématique et cela ne constitue donc pas un frein pour pratiquer ce métier.
Je vois énormément de technologies traitées sur ton site. Comment est-ce que tu fais pour arriver à être en veille sur autant de technologies aussi diverses et variées ? Est-ce que tu arrives à tout retenir ?
Il y a une limite finie à ce que l'on peut connaître. Les vidéos me servent de mémoire numérique donc je retombe dessus quand j'en ai besoin (même par hasard parfois). Aussi, une partie de mon activité, à travers la formation, est de faire de la veille et c'est quelque chose que j'aime bien faire.
Mais il y a beaucoup de technologies que j'ai évoqué sur la chaine que je n'utilise pas forcément au quotidien ou que je n'utilise plus. Irrémédiablement je finis par les oublier avec le temps pour faire de la place pour de nouvelles choses. Pour beaucoup de technologies on peut rapidement en faire le tour et voir les contour de l'outil. Il suffit de comprendre comment ça fonctionne
Par exemple, sur tout ce qui est front-end, on peut se dire "Il connaît plein de choses !", c'est des technos où on a vite fait le tour. Juste les survoler suffit à comprendre comment elles fonctionnent et après, si jamais on en a besoin plus tard, on va explorer et approfondir. Mais ça ne veut pas forcément dire que je maîtrise tous les outils que j'ai évoqué sur la chaîne.
Comment est-ce que tu vis le fait d'avoir formé autant de gens ?
Je n'ai jamais trop réfléchi à ça. Les vidéos, je les fais un peu en "sous-marin" parceque j'aime bien les faire. J'aime bien explorer les technos et j'ai réalisé l'impact que la chaîne avait que récemment et c'est vraiment cool !
Cela fait toujours plaisir de croiser des gens et de se dire qu'ils ont commencé ou qu'ils sont dans ce métier en partie gràce à moi. C'est aussi ce que j'aime dans la communauté des développeurs, c'est qu'il y a vraiment cet esprit de partage avec, en grande majorité, des gens bienveillants qui n'hésitent pas à aider et partager leurs connaissances.
Et ça marche aussi dans les 2 sens. Quelqu'un qui débute peut apporter autant qu'une personne qui a de l'expérience. Avec une nouvelle vision et une nouvelle approche du problème. Beaucoup d'apprenant m'ont fait découvrir des choses que je ne savais pas en me posant des questions.
Est-ce que toi tu te sens prof et est-ce que tu aimerais un jour peut-être enseigner dans la vrai vie (dans une école ou autre) ?
À l'heure actuelle, je préfère mon format actuel pour 2 raisons.
Ce qui me gène avec la formation physique est de me dire que je vais répéter un peu les mêmes choses et que je serais du coup moins efficace d'un point de vu formateur. Malgré tout, avoir les apprenants en face, ça permettrait de mieux les aider et les accompagner. Parmis les gens qui regardent les vidéos, il y a des gens qui ne vont pas forcément tout comprendre ou louper certaines notions importantes. Donc c'est vrai qu'il y a ce problème là. Enfin, j'essaie de rendre les contenus accessibles et c'est difficile de réconcilier formation physique et tarifs intéréssants.
Est ce que le fait d'essayer d'expliquer les technologies te permet de mieux les comprendre ?
Si je suis complètement honnête, le fait que je connaisse bien la plupart des technos que j'ai traité sur le site, c'est essentiellement parce que j'ai du les expliquer.
Si je prends l'exemple récent de React par exemple. Avant de faire la formation, il y avait beaucoup de chose que je considérais comme acquis basé sur des hypothèses mais je n'avais jamais pris le temps d'explorer les choses de fond en comble. Donc, à travers la formation, je me suis forcé à essayer de comprendre toutes les notions, car quand on veut expliquer quelquechose on est obligé de le comprendre parfaitement pour ne pas dire de bêtises.
Du coup, c'est vrai que ça me fait apprendre les technologies de fond en comble. Alors qu'avant de faire des formations, j'avais plutôt tendance à les survoler. C'est aussi pour ça que quand vous travaillez en équipe et que vous devez faire des revues de codes ou ce genre de choses, vous êtes obligé d'expliquer pourquoi vous avez fait certaines lignes et ça vous permet de vous améliorer.