Développement web

Faut-il devenir un développeur Backend, Frontend ou Fullstack ?

Faut-il devenir un développeur Backend, Frontend ou Fullstack ?

Quand on commence le développement Web, on découvre très vite comment fonctionne concrètement un site Internet ou une application Web.

Il y a une partie visible de l’iceberg comme on dit, une interface utilisateur que les visiteurs vont voir et qu’on appelle dans notre jargon, le « Front ».

Évidemment, il y a la partie émergée de l’iceberg, une mécanique non visible, mais pourtant bien la pour traiter les demandes de l’interface utilisateur et lui donner les données qu’elle a besoin pour pouvoir les afficher et qu’on appelle dans notre jargon, le «  Back ».

Deux philosophies différentes, mais très complémentaires et indissociables l’une de l’autre pour des projets de développement web complet. Je vais donc vous expliquer le concept de ces 2 postes de développeurs ainsi qu’une autre qui regroupe les 2 et bien plus encore, le développeur Fullstack.

Pourquoi il y a des développeurs Backend et des développeurs Frontend ?

Alors je vous rassure ce n’est pas dû à un effet de mode. En fait, il est arrivé un temps où les projets web sont devenus de plus en plus complexes techniquement parlant.

Et pour pouvoir pallier à cela, on a décidé de devoir découper ou plutôt dissocier le concept d’un projet web à savoir la partie Front et la partie Back (comme pour le code finalement), d’où les noms respectifs de Frontend et Backend.

L’autre raison est qu’on a voulu, comme pour n’importe lequel des domaines ou métiers, créer des nouveaux métiers pour spécialiser les gens.

Une évolution du métier comme on pourrait dire !

Qu’est-ce qu’un développeur Backend ?

Un développeur Backend est tout simplement un développeur qui va travailler essentiellement avec des langages serveur. C’est donc du code qui sera exécuté côté serveur pour effectuer des opérations non visibles sans forcément renvoyer un résultat.

Il n’y a donc pas d’interface utilisateur pour voir ce qui se passe.

Il existe une multitude de langages serveurs comme Java, C#, PHP, Python, JavaScript (avec Node.js), Ruby, etc.

L’utilisateur ne s’en rend même pas que cela existe. Un développeur Backend va se retrouver à coder par exemple des API, les interactions avec la base de données, que ce soit pour renvoyer une information en relation avec la demande du Front, que de stocker ce qu’il a reçu.

C’est aussi sur lui que la sécurité du code et de l’application doit être la plus optimale, car c’est la dernière barrière avant le traitement et le renvoi d’un résultat d’une demande.

Le Backend doit décider de la structure des données qu’il doit recevoir ou qu’il va renvoyer pour que le Front puisse l’exploiter.

Si on prend le cas de mon blog par exemple avec cet article, le Front a demandé à la partie Back de mon blog d’avoir le contenu de la page que vous consultez. Le Back a donc reçu la demande du Front, la traiter et lui a envoyer comme réponse le contenu de mon article pour vous l’afficher à l’écran.

Qu’est-ce qu’un développeur Frontend ?

Un développeur Frontend va quant à lui travailler avec des langages clients. C’est donc du code qui sera exécuté côté client (donc très souvent sur un navigateur) pour aussi effectuer des opérations qui peuvent être en partie cachées, mais le but étant d’afficher quelque chose à l’écran pour l’utilisateur.

L’utilisateur pourra interagir avec les données si l’interface en donne la possibilité.

Il va donc mettre en place une structure pour afficher les données à l’écran. Il créera des menus, des blocs de contenu, des champs de formulaire, des boutons, etc. Bien entendu, lui aussi doit mettre en place une sécurité dans les interactions sur la page pour ne pas que l’utilisateur puisse faire n’importe quoi.

C’est le cas avec mon blog par exemple. Il possède une structure avec un header, un menu composé d’une barre de recherche, un bloc pour afficher le contenu, une partie sidebar sur la droite pour afficher tout un tas de choses et d’un footer en bas de page.

Ces 2 aspects séparés n’ont aucun sens

Vous l’aurez donc compris. Ces 2 développeurs ont besoin l’un de l’autre pour exister dans un projet web. Ce sont donc 2 métiers qui ont été séparés comme on sépare aujourd’hui notre application en matière de code.

On ne peut pas imaginer avoir uniquement un développeur Backend et pas de développeur Frontend sur un projet. À moins que vous vouliez uniquement une API sans Front dernière.

Il existe donc une collaboration entre les 2 métiers. Le Front demande au Back ce dont il a besoin et le Back lui met à disposition ce dont le Front a besoin suivant ses propres recommandations.

L’expertise et la responsabilité du travail ne sont plus basées sur un seul et même développeur, mais sur 2 personnes compétentes et responsables dans leur domaine.

Mais pourquoi on a séparé les métiers exactement ? C’est simple : comme dans n’importe lequel des métiers, on a voulu spécialiser les gens.

Et comme le code que l’on fait aujourd’hui n’est pas celui que l’on faisait hier, on a suivi les méthodes de découpages de nos applications pour les répercuter au niveau humain.

Et le développeur FullStack dans tout cela ?

Contrairement à ce qu’on pourrait penser, le développeur Fullstack existe depuis bien plus longtemps que ce terme apparût il y a quelques années. Un développeur FullStack c’est à la fois un développeur Backend et un développeur Frontend, mais ce n’est pas uniquement que cela.

Car il existe d’autres métiers chez les développeurs. On y retrouve les chefs de projet, les graphistes, les DevOps, les DBA (Administrateurs de base de données, etc. Et les Fullstack peuvent être amenés à faire tout cela en même temps.

Des vrais couteaux suisses! Ils sont capables de réaliser et de produire lui-même chaque partie d’un projet.

Alors une question légitime que l’on peut se poser : est-ce qu’un développeur Fullstack est meilleur qu’un développeur Backend/Frontend pour ne se baser que sur cela ?

À moins d’être un surdoué en informatique avec d’incroyables facilités, il y a peu de chance que le Fullstack soit meilleur qu’un développeur Backend ou Frontend dans le milieu respectif.

Je m’explique : je ne suis pas en train de dire que le Fullstack est moins bon qu’un autre développeur c’est juste que comme il doit connaître plusieurs domaines à la fois, il ne peut pas avoir le même niveau que les autres.

Par exemple : un développeur Backend va forcément concentrer l’essentiel de sa formation et de ses connaissances sur la partie Back alors que le Fullstack apprendra et pratiquera un peu tous les domaines à la fois.

Il ne peut pas se concentrer à 100% sur un seul domaine et il progresse dans chacun des domaines petit à petit suivant les opportunités qui se présentent. Vis à vis du Backend, le Fullstack ne pourra pas prétendre d’avoir le même niveau de pratiques et de connaissances que le Backend. Un petit schéma pour résumer :

Exemple apprentissage Backend vs Frontend vs Fullstack

Cela peut donc être un inconvénient pour le Fullstack, mais compensé par le fait qu’il est capable de mener un projet seul là où il sera difficile de pouvoir le faire avec un Backend ou un Frontend.

Un avantage intéressant pour les employeurs

Mais l’avantage le plus intéressant d’un point de vue employeur, c’est que le Fullstack est un profil très intéressant. Il revient moins cher que les 2 autres, car l’employeur n’embauche qu’une seule personne polyvalente.

Même s’il faut reconnaître quand même qu’une seule personne ne pourra pas produire le travail de 2 personnes avec le même niveau de qualité. Et beaucoup d’employeurs négligent souvent ces détails.

Mais contrairement de ce que vous pouvez penser, les profils spécialisés comme un Backend ou un Frontend ne sont pas réservés qu’aux très grandes structures qui ont les moyens.

De plus en plus de structure à taille très moyenne peut se permettre de prendre ce genre de profil. C’est juste qu’elle n’aura pas tous les autres profils d’un projet web complet comme un graphique ou un DBA. 

N’oubliez pas qu’un développeur spécialisé est censé connaître les autres domaines de manière générale et que même si cela n’est pas le centre de leur métier il pourrait exceptionnellement faire autre chose dans les faits. Un Frontend pourra très bien faire un peu de graphisme dans un projet.

Un profil OVNI et un mythe

commitstrip fullstack

Image provenant du site Commistrip : https://www.commitstrip.com/fr/2016/11/07/which-full-stack-developer-are-you/

La théorie, c’est qu’un Fullstack n’est donc pas un expert, mais un grand touche-à-tout dans beaucoup de domaines. Et beaucoup d’employeurs ne voulaient que ça il y a quelques années. Les offres d’emploi recherchant des Fullstack étaient très nombreuses.

Ils ont très vite compris que ce genre de profil n’existe pas. En fait, si vous savez faire du Frontend, du Backend, un peu de graphisme ou DevOps et que vous savez manager une base de données, alors vous pouvez vous considérer comme un développeur FullStack.

Alors au final, que devez-vous choisir ?

Navrez de vous décevoir, mais la bonne réponse n’existe pas et je n’ai pas non plus la réponse à cette question. Plus sérieusement, cela va dépendre de vos affinités et de vos envies. Si le fait de produire des interfaces utilisateurs vous plaît et uniquement cela alors, dirigez-vous vers le Frontend.

Si par contre vous en êtes allergique et que votre kiff c’est de produire des algorithmes de fou en Background alors, faites du Backend. Si au contraire, vous aimez la diversité au niveau du Front ou du Back et toute autre chose qui tourne autour d’un projet de développement web peu importe la nature de la tâche alors, devenez un Fullstack.

Ce sont les conseils que je peux uniquement vous donner à vous orienter au mieux vers ce qui pourrait vous correspondre. 

De toute façon, peu importe ce que vous choisissez, vous devez connaître et acquérir les bases de tout ce qui est possible de faire en programmation web y compris le Front et le Back. En clair, vous devez apprendre et tester comme un Fullstack pour mieux vous orienter vers ce qui vous correspond le mieux.

J’ai tout de même remarqué une tendance dans les recherches d’emplois que les développeurs Frontend était beaucoup plus recherchés que les développeurs Backend.

Que ce soit pour des contrats Freelance que pour un contrat de travail. Peut être parce que tout simplement qui dit Frontend dit Interface utilisateur, donc quelque chose visible pour l’utilisateur final et où l’on peut plus facilement se projeter.

N’hésite pas à poster un petit commentaire juste en dessous dire ce que vous souhaitez devenir : un développeur Backend ou Frontend ou Fullstack et pourquoi ?

Partager ce contenu

Leave a Comment

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.