Aller au contenu
Accueil / Les technos qu’un développeur web devrait connaitre

Les technos qu’un développeur web devrait connaitre

Le développeur web est un atout indispensable pour de nombreuses entreprises. Son rôle est de concevoir et de coder des sites ou des applications mobiles. Il évolue dans un marché du travail favorable, car les spécialistes sont peu nombreux et les besoins en recrutement sont élevés.

Au Sommaire :

Une roadmap de plus en plus complexe

Depuis le premier confinement (mars 2020), j’apprends le métier de développeur web en autodidacte. Les premiers mois, j’arrivais à garder en mémoire les différents domaines que j’étais en train de découvrir ou que je voulais étudier ultérieurement (déjà un bon casse-croûte, je suis loin d’en avoir fini) :

  • JavaScript et ses frameworks tant en front qu’en back d’une part : Angular, React, Vue, Node
  • les langages pour les mobiles d’autre part : Kotlin, Swift, Flutter/Dart.
Les formation Udemy que j’avais achetées. J’en ai achevé 80%

Ces cours suivent assez bien la roadmap proposée par Mike Codeur dernièrement. J’étais donc déjà sur la bonne voie :

Mais au bout d’un an, les notions glanées sur des offres d’emploi ou pendant ma veille techno sont devenues trop nombreuses pour les garder constamment en mémoire. J’ai donc décidé non pas de faire une To Do list à rallonge, mais d’organiser tous mes mots-clés en une représentation en graphe, une carte mentale.

La culture est d’abord affaire d’orientation

En fait, j’applique à ce nouveau domaine de connaissances la même méthode que celle que j’appliquais aux différents secteurs de la culture, en tant que bibliothécaire :

Cette idée de “vue d’ensemble” qui sous-tend la démarche du bibliothécaire a une portée considérable sur le plan pratique car c’est sa connaissance intuitive qui donne les moyens à certains privilégiés d’échapper sans trop de dommages aux situations où ils pourraient être pris en flagrant délit de non-lecture. Les personnes cultivées le savent – et surtout, pour leur malheur les personnes non cultivées l’ignorent – la culture est d’abord affaire d’orientation. Être cultivé, ce n’est pas avoir lu tel ou tel livre, c’est savoir se repérer dans leur ensemble, donc savoir qu’ils forment un ensemble et être en mesure de situer chaque élément par rapport aux autres.

Pierre Bayard, Comment parler des livres que l’on a pas lus p.27
Cette marguerite sert à l’apprentissage de la classification Dewey par les enfants. Je l’utilisais à chacun de mes accueils de classe.

Situer chaque élément les uns par rapport aux autres

Ceci est une des premières versions de ma mindmap. Je l’ai réalisée au moment où j’ai commencé à éprouver des difficultés à tout garder en tête :

Mindmap Développeur web au 24-03-2021 (cliquez pour agrandir)

Une carte mentale en constante évolution

Cette carte mentale s’est rapidement étoffée et continue à le faire. En effet, les compétences techniques d’un développeur web ne se limitent pas à la maîtrise d’un ou plusieurs langages. D’autre part, j’ai maintenant plusieurs cartes mentales en cours : mes projets, le Cloud, les softskills, une spécifiquement dédiée à Vue.js, une autre sur MERN, une autre encore sur Typescript

Développeur web au 07-05-2023, Mindmap sous licence Creative Common (cliquez pour agrandir)

Cette mindmap représente l’état de ma réflexion sur les technos qu’un développeur web devrait connaitre. Ceci de manière plus ou moins approfondie selon les spécialités métier évidemment.

Front, Back et Mobile sont les grands blocs de base, avec un fort accent sur JavaScript. Mais il y a aussi toute une série d’outils. Certains sont incontournables (Bash, GIT, Tests). D’autres ont un impact plus ou moins direct pour un développeur web. Mais celui-ci gagnerait à les connaitre, au moins dans les grandes lignes (Devops, méthodes agiles…).

Pour ajouter une dimension chronologique à cette mindmap, il faut savoir que le développement web a beaucoup évolué ces dernières années, et que le métier de développeur web front n’a plus rien à voir avec celui d’intégrateur web. En fait, la limite entre back et front s’est déplacée. La vidéo ci-dessous explique bien le changement intervenu :

J’ai donc étoffé mon portefeuille de formations…

Des technologies en constante évolution

En réalité, ma mindmap ne cessera jamais d’évoluer, car les technologies liées au développement web sont elles-mêmes en évolution constante. Certaines apparaissent tout juste, d’autres connaissent une progression fulgurante, beaucoup enfin finiront par disparaître. Pour savoir où nous en sommes et quelles technologies nous sommes susceptibles d’apprendre en fonction de nos besoins du moment, il est indispensable de mener une veille technologique régulière.

Certains outils sont là pour nous aider, comme par exemple le State of JS, une enquête annuelle qui recense les tendances dans le monde JavaScript, et dont de nombreux Youtubers se font l’écho chaque année.

Faire mieux qu’un pisseur de code

Un développeur n’est pas qu’un pisseur de code. Il doit savoir :

  • Définir son code
  • Utiliser des méthodologies
  • Appliquer des process
  • Définir des architectures
  • Designer son application
  • Automatiser son code
  • Automatiser les tests
  • Déployer automatiquement
Code Monkey

Un plan de formation pour devenir développeur web

Cette mindmap évolutive représente donc mon plan de formation personnel pour devenir un bon développeur web. Évidemment, je sais que je ne vais pas tout approfondir de la même façon, mais ce graphe me permet aussi d’avoir une vision globale de l’écosystème où je me situe.

Rayed Benbrahim distingue trois cercles de compétences à acquérir, pour prioriser notre apprentissage

1) Les compétences cœurs. On y retrouve:

  • La maîtrise de ton langage de programmation
  • Savoir coder des tests automatisés
  • Savoir utiliser Git et Github
  • Savoir utiliser un shell Linux

2) Les compétences “écosystème”. Exemples :

  • Le framework sur lequel vous souhaitez vous spécialiser
  • Le clean code
  • Les design patterns
  • Les paradigmes de programmation
  • Comprendre la complexité d’un algorithme
  • Maîtriser les fonctionnalités avancées et les raccourcis clavier de ton IDE
  • Utiliser le débugger de ton IDE sur le code et sur les tests
  • Les concepts de conteneurisation et Docker
  • Manipuler une base de données SQL ou une base de données MongoDB

3) La culture générale tech. L’ensemble des autres notions qui composent le monde de la tech :

Un développeur junior doit comprendre ce qu’est un middleware de messagerie ou pouvoir expliquer “grosso modo” comment fonctionne la recherche et quels sont les principaux outils qu’un développeur peut utiliser pour l’implémenter dans son application.

Comment prioriser les notions pour monter en compétences efficacement ? – We love devs

En fonction de votre spécialité entre développeur frontend, backend, mobile ou devops, les compétences à voir en priorité diffèrent. En effet, un développeur Frontend devra s’intéresser plus rapidement à des notions telles que la Jamstack ou les préprocesseurs CSS alors qu’à l’inverse, un développeur backend ou devops devra s’intéresser aux infrastructures cloud plus rapidement.

Si vous êtes de la partie, vos commentaires sont les bienvenus pour améliorer cette carte mentale.

Comment les gens imaginent le métier de développeur vs ce que c’est réellement

Lisez aussi

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Partagez
Tweetez
Partagez