Les développeurs sont des artisans, et comme tout art, il lui faut des pinceaux.
Un ouvrier qui n'a qu'un marteau dans sa trousse à outil trouve que tous les problèmes sont des clous - Auteur inconnu mais populaire
C'est intéressant comme sujet parce que c'est ce qu'il fait que l'on ne change pas de métier aussi facilement.
Parce que même si je suis développeur backend, on me propose un poste en PHP alors que je fais du Java, ça ne marche pas !
C'est d'ailleurs ce qui rend le métier de recruteur IT si compliqué. Il y a plus de 50 mots-clés à identifier pour différencier les métiers.
Alors par où commencer ? Commencons par l'architecture client-serveur.
Le Backend en France il est souvent en Java, en Javascript ou en PHP.
Et on va y rajouter un framework ! Spring pour Java, Symfony pour PHP, Rails pour Ruby, Django pour Python.
L'enjeux ici c'est d'implémenter les APIs, les services Webs qui seront consommés par les applications clientes via HTTP le plus souvent.
Les clients Webs sont très populaires, parce qu'il suffit d'un navigateur pour les fonctionner. Parfois même le serveur va les générer directement.
Mais la mode maintenant c'est de faire des clients lourds, même dans le navigateur. Pendant un moment on a utilisé Backbone ou Ember.js, mais maintenant on va déployer tout de suite un Angular, un React ou un VueJS.
Et il faudra builder tout ça : Rollup, Webpack, NPM et Yarn, le monde du javascript ne manque d'outils.
On peut faire des applications lourdes avec pas mal d'outils !
Que ce soit Winform ou WPF, les outils Microsoft sont encore très présents.
Qt sera l'outil préféré des développeurs C et C++.
Les développeurs Java utiliseront Swing !
Ce n'est pas fini, il vous faut forcément des applications mobiles.
Si elles sont natives, ça sera Kotlin sur Android et Swift sur iOS.
Dans l'équipe hybride on va retrouver React Native et Flutter !
Le build c'est une zone grise - François Teycheine
Coté Build, on retrouve beaucoup d'outils plus ou moins complexes, de Gradle à Basel !
Un développeur ne travaille pas sans IDE !
Atom, Visual Code, IntelliJ, Eclipse. Chaque outil est approprié pour travailler un language ou une techno !
L'application se connectera sûrement à une base de donnée NoSQL ou SQL : PostgreSQL, MongoDB, MySQL, Firebase
Le développeur installera sûrement Docker sur sa machine pour gérer son environnement.
Les DevOps ont installé une pipeline basée sur Kubernetes pour déployer en multi-cloud sur des machines configurées par Terraform. Ou alors c'est déployé sur du PaaS ou du Serverless.
Si vous ne le saviez pas qu'il n'existe pas, c'est écrit sur notre blog !
En vérité, c'est surtout que sur WeLoveDevs, il y a principalement des annonces pour des postes de développeur fullstack, et pourtant on l'a dit, il y a des technos différentes derrières !
Un développeur Fullstack ne peut pas candidater sur toutes les annonces de développeur fullstack parce qu'il doit avoir la bonne stack. Alors il vaut mieux préciser la stack dès l'annonce !