Aujourd’hui j’ai eu envie d’aborder un sujet un peu sensible : le cas du développeur freelance full stack. L’homme idéal pour certains, une vraie arnaque pour d’autres : pas de doute, le dev full stack fait du bruit.
Mais du coup, mythe ou réalité ? Et au fait, c’est quoi un dev full stack ? Voyons tout cela :
Un développeur full stack, c’est quoi ?
Définition globale
Le développeur full stack, c’est qui ? Tout simplement le mouton à 5 pattes ! Véritable touche-à-tout, il sait tout faire. Il va à l’encontre de la tendance qui vise à se spécialiser le plus possible.
Le dev full stack possède de nombreuses cordes à son arc, et peut intervenir sur tous les aspects d’un projet informatique : du développement à la production, du front-end au back-end.
Un bon développeur full stack peut aussi bien mener un projet seul dans son intégralité, qu’intervenir en tant que soutien ou remplaçant sur certaines étapes.
Ce profil est très convoité par les entreprises, et notamment par les start-ups et petites sociétés. Il est en effet plus économique d’embaucher une personne polyvalente plutôt que plusieurs profils spécialisés.
Ses missions
Les missions du développeur full stack sont très variées, et dépendent de l’entreprise dans laquelle il évolue. Voici toutefois les grandes lignes de sa fiche de poste :
- Concevoir l’architecture d’un projet web ou applicatif,
- Intervenir sur le front-end de l’application ou du site Internet,
- Concevoir et manipuler les bases de données,
- Intervenir sur le développement du back-end (y compris les APIs),
- Configurer et maintenir les infrastructures d’hébergement,
- Maintenir le site ou l’application.
Plus généralement, le développeur full stack est à même d’intervenir sur l’ensemble du projet, de sa phase de développement à sa phase de production.
Il peut également lui être demandé de communiquer avec le client, ou encore d’adopter une méthode de travail Agile (Scrum par exemple).
Compétences et qualités requises
Vous vous en doutez, un bon développeur full stack a de nombreuses qualités !
La première est sans doute la curiosité et l’envie perpétuelle d’évoluer et de se former.
Le développeur full stack est quelqu’un qui sait facilement s’adapter. Aucun projet ne se ressemble, et il peut être amené à participer à toutes les étapes de développement d’un produit informatique. Et ce, que ce soit en tant que pilier ou en tant que soutien.
Il est d’ailleurs quelqu’un d’autonome et d’indépendant. Ce qui ne l’empêche pas, bien sûr, de bien savoir travailler en équipe lorsque cela est nécessaire.
D’un point de vue langage, on retrouve de fortes variations d’une fiche de poste à une autre. On attend généralement de lui qu’il connaisse et sache utiliser les principaux langages de programmation : le JavaScript, le PHP, le html / css, ou encore Python.
Certains recruteurs demandent de connaître Ruby ou encore Java. D’autres enfin, recherchent des compétences sur des frameworks, librairies et/ou CMS particuliers comme WordPress, React ou encore Symfony.
Plus généralement, les technologies connues doivent être en adéquation avec le type de projets menés : on n’apprendra pas les mêmes choses si l’on souhaite se spécialiser dans le développement de logiciels ou de projets web par exemple.
Enfin, maîtriser les méthodes agiles est un réel plus pour le développeur full stack. On recherche notamment souvent la connaissance de Scrum.
Le développeur full stack est-il un mythe ?
Pour beaucoup, le développeur full stack est une arnaque. Ces personnes estiment qu’il ne peut exister sur Terre de profils experts dans autant de domaines différents. Ou alors, vraiment très très exceptionnellement.
Je vous le dis tout de suite : je ne fais pas partie de cette catégorie.
À mon avis, le développeur full stack existe et n’est pas un imposteur. Je pense que ceux qui prétendent le contraire tout simplement pas compris ce qu’était un dev full stack.
Un développeur full stack connaît et sait utiliser de nombreuses technologies. Mais jamais on n’a dit qu’il devait être un EXPERT partout !
Bien souvent, il a commencé avec une expertise, et s’est au fil du temps intéressé à d’autres technologies. Jusqu’à développer une connaissance de nombreux outils et langages.
Connaissance suffisante pour faire le taff sur de nombreux projets. Pas de manière aussi pointue que des experts spécialisés bien sûr, mais… ce n’est pas ce qu’on leur demande.
Imaginez que vous êtes une grosse entreprise et possédez un site avec un fort trafic, des millions de requêtes sont faites toutes les minutes et viennent de tous les pays. Qui allez-vous choisir entre un administrateur réseaux (expert donc en gestion des serveurs) et un développeur full stack, pour gérer les serveurs de votre entreprise ? Un administrateur réseaux, bien sûr. Personne ne dit le contraire.
Maintenant, imaginez que vous êtes une petite société, et que votre site ne compte que quelques milliers de visiteurs chaque jour. Allez-vous vraiment embaucher un expert alors que le travail de configuration et de maintenance des serveurs n’occupera guère plus de quelques heures par mois et ne nécessitera pas de compétences pointues ? Non, bien sûr. Un dev polyvalent est bien plus approprié ici.
En réalité, comparer le développeur full stack et le développeur spécialisé a pour moi autant de sens que chercher à savoir qui a le meilleur profil entre le développeur Java et le développeur Python. La réponse est simple : il n’y a pas de vainqueur ! Tout dépend des besoins de l’entreprise et du projet.
En aucun cas le développeur full stack ne sera appelé en tant qu’expert sur une multitude de langages.
En revanche, grâce à ses connaissances satellites, il peut facilement débloquer des situations et faciliter la communication au sein de l’équipe ainsi que la prise de décision. C’est d’ailleurs pour cela qu’il peut aisément évoluer, après quelques années de pratique, vers des postes de management et de gestion de projet.
Donc non, le développeur full stack n’est pas un mythe ni une escroquerie. Il est même aussi utile que le développeur spécialisé. On choisira l’un ou l’autre selon les besoins du moment.
Comment devenir développeur full stack ?
Il n’existe pas de parcours obligatoire pour devenir développeur full stack, de nombreuses voies peuvent vous y conduire.
Le cursus classique c’est un BTS ou un DUT informatique (Bac +2), suivi d’une licence professionnelle et d’un master ou d’une école d’ingénieurs.
Il existe également des écoles et formations en ligne pour se préparer à ce métier – ou plus généralement pour apprendre des langages de programmation.
Enfin, à condition de faire preuve de beaucoup de rigueur et de motivation, il est également possible de devenir développeur full stack en étant autodidacte. Commencez tout simplement par apprendre les rudiments de la programmation (algorithmique notamment), puis démarrez l’apprentissage d’une technologie, puis d’une seconde, et ainsi de suite.
L’idéal pour cela reste de créer son propre projet personnel !
A lire aussi : « Où apprendre la programmation ?«
La carrière du dev full stack
Salaire
D’après une étude d’Urban Linker, voici le salaire moyen annuel des développeurs en région en 2020 :
Junior | Confirmé | Sénior | |
Développeur full stack JS | 31-36K | 37-45K | 45-55K |
Développeur frontend | 29-36K | 36-42K | 42-52K |
Développeur PHP | 27-34K | 35-39K | 38-50K |
Développeur Python | 29-36K | 36-43K | 43-48K |
Les chiffres pour Paris ne sont pas mentionnés, mais ils sont probablement plus élevés.
Quoiqu’il en soit, on retrouve de grandes similarités entre tous ces postes. Le développeur full stack tend toutefois à gagner légèrement plus d’argent que ses collègues.
Perspectives d’évolution
Le développeur full stack peut potentiellement évoluer vers d’autres postes. Les plus courants sont les suivants :
- Lead développeur
- Product Manager
- Chef de projet informatique
- Directeur des nouvelles technologies (CTO).
Aucune surprise ici : grâce à ses nombreuses connaissances, le dev full stack est tout indiqué pour chapeauter les équipes et les projets.
Développeur spécialisé ou full stack : comment choisir ?
Vous souhaitez devenir développeur, mais ne savez pas si vous devez vous spécialiser ou devenir full stack ?
Voici les principales différences entre les deux :
- Le développeur spécialisé travaille sur un même projet pendant des mois voire des années. Il passe son temps à l’améliorer, à peaufiner chaque détail. En parallèle, il ne cesse de se former sur la technologie ou le langage qu’il a choisi. Le développeur spécialisé est généralement quelqu’un de très perfectionniste, qui n’a pas peur de la routine.
- A l’inverse, le développeur full stack a un emploi du temps beaucoup plus diversifié. Il passe régulièrement d’une tâche à l’autre, voire d’un projet à l’autre. Il doit faire preuve d’une grande adaptabilité et d’un bon sens de la communication. Moins perfectionniste que le spécialisé, il doit cependant faire preuve de davantage de curiosité.
Lequel de ces deux profils vous ressemble-t-il le plus ? Vous aurez ainsi votre réponse !
Quant au choix du langage, il n’y a pas de miracle : il faut les essayer ! Besoin d’un coup de main pour faire le bon choix ? Cet article vous sera utile : « Quel langage de programmation apprendre en 2021 ?«