Développeur front end, back end, full stack : différences

Au début du développement, il n’y avait rien. Du coup, logiquement, dès que quelqu’un touchait au code et était capable de programmer une version à peu près stable de Tetris, il était développeur. Le seul, l’unique professionnel du code. Et puis, au fil du temps, les usages du web ont explosé, tout comme la bulle Internet. Résultat des courses, les besoins des entreprises ont grandement évolué, et différents profils sont apparus. Désormais, les couches de développement sont très souvent séparées. Ainsi, le grand manitou des serveurs et bases-de-données est désormais un développeur back end. Celui qui rend tes pages web sexy est un développeur front end. Et le développeur full stack ? Et bien c’est le superman des développeurs, capable de tout gérer tout seul. Ce n’est toujours pas clair ? On t’explique les différences.

Développeur back-end : partir sur de bonnes bases

Développeur back-end : maîtriser le serveur
Développeur back-end : maîtriser le serveur

Le développeur back-end est le pro du serveur, l’as de la base-de données. Il travaille donc dans l’ombre et veille à la création des fonctionnalités d’un site ou d’une application web. Une grande partie de la performance et de la sécurité d’un site Internet repose donc sur ses épaules.

Côté compétences, il se doit alors de maîtriser quelques technologies du genre :

  • Langage(s) de programmation côté serveur. PHP est le langage le plus utilisé du web et donc toujours une bonne idée à avoir dans sa boîte à outils. Python est également très populaire, tant auprès des dev que des entreprises. Ruby (et son célèbre framework Ruby on Rails) et Java (qui en plus sert au développement mobile pour Android) sont aussi de la partie.
  • Bases de données, donc de SQL (Structures Query Language) et d’un ou plusieurs SGBD ( pour Système de gestion de bases de données). MySQL est certainement le plus connu, mais partage la scène avec MariaDB, MongoDB (NoSQL) ou encore PostgreSQL.
  • Frameworks, bibliothèques et autres API (interfaces de programmation). Tous ces outils permettent de développer plus simplement et donc rapidement. Moins de prise de tête pour le programmeur (toi), plus de profits pour les entreprises, tout le monde est donc content. Zend Framework, CakePHP et Symfony sont quelques exemples de frameworks à considérer.

Développeur front-end : rendre le code lisible par un humain

Ne nous jugez pas trop vite, les développeurs back-end sont des humains eux aussi, juste un peu plus spéciaux que le reste de leurs congénères. Dans ce dur monde capitaliste, les entreprises misent tout sur le retour sur investissement, ce qui se traduit par une volonté extrême de plaire aux clients et prospects, et donc proposer une expérience utilisateur (UX) incroyable. C’est là qu’intervient le développeur front-end.

Le développeur front-end est celui qui hérite de tout ce Gloubi-boulga fonctionnel pour rendre le site (ou l’application) agréable à consulter et utiliser. On continue d’ailleurs parfois de l’appeler intégrateur, un terme qui met cependant mal en évidence ses qualités techniques en le cantonnant au rôle d’exécuteur. En pratique, il part la plupart du temps d’une maquette PSD (coucou Photoshop), la décompose, puis crée le code des pages web correspondantes. Il est ainsi tour à tour développeur, webdesigner et ergonome.

Compétences

Si le métier t’intéresse, prépare-toi à passer de longues heures à bosser :

  • Le trio gagnant du front-end, nous avons nommé HTML, CSS et JavaScript. Mon premier balise le contenu en appliquant différents effets au texte (gras, listes à puce, couleurs, tableaux). Mon second présente le tout joliment et est particulièrement utile à la création de templates de pages (page, article, formulaire de contact, etc.). Mon tout amène animation et effets pour des pages toujours plus belles, toujours plus interactives.
  • Un ou deux frameworks et bibliothèques front-end, à commencer par jQuery, React.js ou Angular. Cela te permettra de gagner du temps et espérer te démarquer un peu plus sur le marché de l’emploi.
  • L’UX design. UX designer est désormais un métier en soi, ça n’en reste pas moins un incontournable du front-end, au même titre que l’UI design (les interfaces utilisateurs.
  • Le graphisme pour le web. Tout dev front-end n’est pas un web designer, pouvoir travailler avec Photoshop, InDesign ou Illustrator risque pourtant de t’éviter bien des tracas. Par quoi commencer ? Là encore un trio s’impose : typographie, composition et couleurs. À tes pinceaux (numériques, bien entendu).

Développeur full-stack : le joker des start-up

Développeur full-stack : évoluer entre les couches de développement
Développeur full-stack : évoluer entre les couches du développement

À l’heure où tout n’est que question de spécialisation et de trouver sa niche (tu le sais aussi bien que nous si tu as déjà ouvert un bouquin de marketing 1.1), les petites et moyennes entreprises (PME), comme les start-up ont de plus en plus de mal à tirer leur épingle du jeu. Il faut dire que si on essaie de suivre la tendance, on fini rapidement à embaucher un dev front-end, un pour le back-end, un web designer, un UX et si possible un UI designer, un ergonome pour être bien sûr que les deux premiers ne font pas n’importe quoi, un DevOps pour chapeauter l’équipe et… on s’arrête là, on n’a plus de souffle. Inutile de te faire un dessin, tout ce petit monde a un coût.

Conséquence plus que logique, les plus petites structures essaient de trouver des profils polyvalents, histoire de continuer à faire du business sans exploser le budget. Ce n’est pas tant que ces boîtes sont radines (pas toutes en tout cas), c’est surtout qu’elles n’ont pas les moyens, spécialement pour des projets web à la complexité relative. C’est là qu’intervient le développeur full-stack qui maîtrise toutes les couches de développement et est donc capable d’assurer un projet web tout seul comme un grand. On ne te refait pas la liste des technos à maîtriser, c’est plus ou moins l’ensemble des deux listes évoquées plus haut. Si d’aventure tu venais en plus à te familiariser avec les méthodes agiles, tu aurais alors un profil full-stack plutôt très intéressant.

En résumé, quelle branche choisir en tant qu’apprenti codeur ?

Déjà, si la réponse est motivée par des motifs économiques, tu te poses la mauvaise question. Il est vrai que les développeurs full-stack sont de plus en plus demandés et que tu trouveras moult offres d’emploi. Il est vrai aussi que le dev back-end a tendance a lire un chiffre un peu plus attirant sur sa fiche de salaire que son homologue front-end. Dans les faits pourtant, tu ne seras jamais aussi motivé, donc performant, donc spécialisé, donc attractif pour les entreprises que si tu fais quelque chose qui te plaît ! On sait, c’est une réflexion poussée qui nous a amenés jusqu’à cette conclusion, mais après tout, nous sommes professionnels du web depuis de nombreuses années…

Plus sérieusement, le principal est bien sûr de choisir selon tes motivations personnelles, auxquelles tu peux ajouter un soupçon de considération pour tes prédispositions. Certes, les salaires moyens de ces trois profils de développeurs comportent des différences, pourtant la réalité du terrain n’est pas aussi évidente que ça. En pratique, ta formation, ton expérience, les technologies que tu maîtrises, mais aussi des facteurs extérieurs tels la structure de l’entreprise pour laquelle tu travailles, sa taille et le pays où tu évolues sont autant d’éléments qui vont influencer le marché de l’emploi et tes perspectives de carrière.

Jette donc un œil à ce qu’il se passe autour de toi : nombre d’offres d’emplois pour chaque spécialisation, salaire proposé, formation demandée, etc. Tu pourras ensuite choisir en toute âme et confiance (euh conscience). N’oublie cependant pas qu’une développeur front-end spécialisé et expert dans sa niche trouvera plus facilement des missions et sera certainement mieux payé qu’un développeur full-stack moyen.

À toi de jouer !