Article original : What is a Full Stack Developer? Back End + Front End = Full Stack Engineer

Si vous êtes nouveau dans le secteur de la technologie, vous avez peut-être entendu parler du terme Full Stack. Mais que signifie cela exactement ?

Dans cet article, je vais expliquer ce qu'est le développement Full Stack, les compétences dont vous avez besoin pour devenir développeur Full Stack, les attentes salariales et des conseils pour décrocher un emploi.

Qu'est-ce que le développement Full Stack ?

Un développeur full stack est quelqu'un qui travaille à la fois sur le front end et le back end d'une application web. Le front end est responsable de l'apparence visuelle et de la convivialité du site web, tandis que le back end est responsable de la logique et de l'infrastructure en coulisses du site.

Examinons de plus près les termes front end et back end.

Développement Front end (Côté client)

Tout sur une page web, du logo à la barre de recherche, en passant par les boutons, la mise en page générale et la manière dont l'utilisateur interagit avec la page, a été créé par un développeur front end. Les développeurs front end sont responsables de l'apparence et de la convivialité du site web.

Les développeurs front end doivent également s'assurer que le site web a une belle apparence sur tous les appareils (téléphones, tablettes et écrans d'ordinateur). Cela s'appelle le Responsive Web Design.

Développement Back end (Côté serveur)

Le développement back end fait référence à la partie de l'application que l'utilisateur ne voit pas. Les développeurs back end se concentrent sur la logique du site, la création de serveurs et le travail avec des bases de données et des API (Interfaces de Programmation d'Applications).

Par exemple, le contenu et la mise en page d'un formulaire seraient créés côté client, mais lorsque l'utilisateur soumet ses informations, elles sont traitées côté serveur (back end).

Exemple d'une application Full Stack dans le monde réel

Pour mieux comprendre à quoi ressemble une application full stack, examinons le site web de freeCodeCamp.

Image

Tout ce que vous voyez sur la page serait considéré comme du front end. Tous les boutons, le texte, les couleurs et la mise en page sont le travail du développeur front end.

En ce qui concerne des éléments comme les identifiants de l'utilisateur, tout cela est géré par le back end. Tous les processus de connexion et les informations utilisateur sont des exemples de développement back end en action.

Image

Si vous êtes curieux et souhaitez jeter un coup d'œil au code, vous pouvez le trouver sur la page open source de freeCodeCamp.

Compétences nécessaires en tant que développeur Full Stack Web

Examinons les technologies et les outils que vous devrez apprendre pour devenir développeur full stack.

HTML

HTML signifie HyperText Markup Language. HTML affiche le contenu de la page comme les boutons, les liens, les titres, les paragraphes et les listes.

Pour apprendre les bases de HTML, freeCodeCamp propose un Cours accéléré HTML pour débutants - Tutoriel de site web.

CSS

CSS signifie Cascading Style Sheets. CSS est responsable du style de votre page web, y compris les couleurs, les mises en page et les animations.

Le Cours de Responsive Web Design de freeCodeCamp vous enseignera les bases de CSS, du design responsive et de l'accessibilité. Le design responsive est essentiel pour créer des sites web qui ont une belle apparence sur tous les appareils.

L'accessibilité est la pratique qui consiste à s'assurer que tout le monde peut facilement utiliser vos sites web. Vous ne voulez pas créer des sites web qui ne peuvent pas être utilisés par ceux qui utilisent des technologies d'assistance comme les lecteurs d'écran.

JavaScript

Vous utilisez JavaScript avec HTML et CSS pour créer des pages web et des applications mobiles dynamiques et interactives. Des exemples de JavaScript incluent les animations, les horloges de compte à rebours, les menus mobiles déroulants et l'affichage/masquage d'informations lorsque l'utilisateur clique sur un élément de la page.

Pour commencer à apprendre JavaScript, vous pouvez suivre le cours Algorithmes et Structures de Données JavaScript de freeCodeCamp. À partir de là, vous pouvez commencer à construire des projets à partir de mon article 40 Projets JavaScript pour Débutants.

Frameworks, Bibliothèques et Préprocesseurs CSS

Ces outils ont été créés pour aider à accélérer le processus de développement. Au lieu d'écrire tout le CSS personnalisé, vous pouvez utiliser le catalogue de classes CSS d'un framework dans vos pages web.

Il n'est pas nécessaire de tous les apprendre, mais voici une liste de quelques options :

Les préprocesseurs CSS comme Sass et Less vous permettent d'ajouter de la logique et de la fonctionnalité à votre CSS. Ces outils rendent votre CSS propre et facile à utiliser.

Bibliothèques et frameworks JavaScript

Ces frameworks et bibliothèques vous permettent de gagner du temps et de faire plus avec moins de code.

Voici quelques options populaires :

Il n'est pas nécessaire de tous les apprendre. Vous devriez simplement rechercher quelle technologie est utilisée dans votre région et commencer à bien apprendre celle-ci.

Voici quelques ressources d'apprentissage suggérées.

Bases de données

Il est important pour un développeur full stack de savoir comment travailler avec des bases de données. Une base de données dans une application web est un endroit pour stocker et organiser les données de votre projet.

Il existe de nombreux types de bases de données à apprendre, mais voici quelques options populaires.

Langages Back end

Les langages que vous pouvez utiliser pour le développement back end incluent Java, Python, Node et PHP. Il n'est pas nécessaire d'apprendre tous ces langages, mais concentrez-vous plutôt sur un seul pour commencer.

Voici quelques ressources d'apprentissage suggérées.

Il existe également de nombreuses piles technologiques pour le développement front end et back end. En voici quelques-unes populaires.

Il existe plus de langages back end parmi lesquels choisir, mais je vous suggérerais de rechercher les langages les plus utilisés dans votre région.

Compétences en test et débogage

Lors du développement de votre application, il y aura des erreurs dans votre code qui nécessiteront des corrections. Le débogage est l'acte d'identifier ces erreurs ("bugs") et de les corriger.

Le test est une autre compétence importante à apprendre. Écrire des tests pour votre code est un moyen de s'assurer que votre code fait ce qu'il est censé faire.

Pour une explication plus approfondie sur les différents types de tests, je vous suggérerais de lire cet article.

Contrôle de version

Le contrôle de version est un moyen de suivre et de gérer les modifications du code du projet. Git est un logiciel populaire que vous pouvez utiliser pour suivre votre code.

Si vous faites beaucoup d'erreurs dans votre code, vous pouvez utiliser Git pour revenir à une version précédente de votre code au lieu de tout réécrire manuellement.

Apprendre Git vous permet également de collaborer avec d'autres personnes dans une équipe et d'apporter des modifications à la même base de code depuis différents endroits.

Je vous suggérerais de commencer à apprendre Git et d'utiliser un service comme GitHub pour héberger vos projets personnels.

Résolution de problèmes

La compétence la plus importante pour tout développeur est de savoir résoudre des problèmes. Les entreprises et les clients recherchent des solutions de votre part.

Il est important d'apprendre à aborder un problème, à le décomposer en morceaux plus petits et plus faciles à gérer, et à dépanner le problème dans ces applications web.

Dois-je poursuivre le développement Full Stack ?

Si vous débutez et n'êtes pas sûr que le full stack soit fait pour vous, ne stressez pas à ce sujet si tôt dans votre apprentissage.

Je vous suggérerais de vous concentrer sur l'apprentissage des trois langages de base du web qui sont HTML, CSS et JavaScript. Au fur et à mesure que vous progressez dans votre parcours, vous pourrez alors décider quel chemin est approprié pour vous.

Combien gagne un développeur Full Stack ?

La fourchette de salaire pour les emplois full stack variera en fonction de l'endroit où vous vous trouvez dans le monde. Je vous suggérerais d'utiliser des sites comme Glassdoor, Indeed et ZipRecruiter pour rechercher les salaires dans votre région.

Voici des exemples de salaires pour les États-Unis. Ces données ont été fournies par ZipRecruiter et affichent la moyenne nationale.

Commençons par examiner le salaire d'un développeur full stack junior. Les développeurs juniors sont ceux qui travaillent dans le secteur depuis deux ans ou moins.

Image

Ensuite, examinons les salaires full stack de niveau intermédiaire. Ces développeurs travaillent depuis environ 2 à 4 ans.

Image

Enfin, examinons les salaires full stack seniors. Ces développeurs travaillent dans le secteur depuis quelques années maintenant et servent souvent de mentor pour les développeurs juniors et de niveau intermédiaire.

Image

Comment obtenir un emploi en tant que développeur Full Stack ?

Une fois que vous avez appris les aspects techniques du développement full stack, vous devez vous concentrer sur la préparation de vos documents de candidature. Il existe de nombreuses ressources incroyables qui peuvent vous aider à apprendre comment obtenir un emploi full stack.

Ressources pour la création de CV

Ressources pour les entretiens techniques

Conseils pour décrocher un emploi

J'inclurai également des ressources sur la façon de commencer en freelance si vous êtes intéressé par cette voie.

J'espère que vous avez apprécié cet article et je vous souhaite bonne chance sur votre chemin pour devenir développeur full stack.