La liste des technos de code qui montent en 2021

Les principaux outils web à connaître en 2021 pour être un bon développeur full stack (ou back/front) en startup

La route qui mène au poste convoité de CTO est longue et pleine d’embuches... Alors, si on sortait un peu la longue vue, pour accroître notre visibilité à moyen terme ? Et si on posait aussi quelques jalons intermédiaires, pour éviter les frustrations, apprendre à nous féliciter de nos petites victoires et être fiers de nos progressions ? Appuyez sur le bouton “Applause” et continuez à lire...

Rangez donc ce fouet qui fait mal ! Vous fustiger ne mène à rien. Si vous vous dites que vous n’avancez pas et que vos efforts sont vains, cet article a pour objectif 1) de vous démontrer que c’est faux, 2) de vous faire réaliser les progrès que vous avez accomplis, ainsi que l’accessibilité des prochaines étapes, à portée de votre main !

Du HTML/CSS basique, aux langages comme Python et JavaScript, aux frameworks comme Django ou Symfony, nous allons vous présenter ici les principales technologies et outils web qu’il faut connaître ou a minima comprendre, pour être un bon développeur full stack (ou back / front) en startup en 2021. Il est impossible (et inutile) de tout apprendre, mais cet aperçu vous donnera matière à choisir vers quelle techno vous orienter, en fonction de vos acquis et de vos aspirations.

Objectifs d'un développeur full stack

Si vous êtes un développeur full stack, vos objectifs sont les suivants :

1.   Savoir créer des web apps (simples et complexes) avec du front-end et du back-end ;

2.   Créer des API REST sécurisées ;

3.   Savoir déployer et maintenir vos applications ;

4.   Gérer les bases de données sous-jacentes.

On continue ?

Pour y parvenir, commençons par…

Un café ! Oui mais aussi ....

2021 et les outils de dev

Les IDE (environnements de développement) :

Citons les 3 éditeurs de texte les plus en vogue :

·       Visual Studio Code

·       Atom

·       Sublime Text

Il s’agit avant tout de préférence personnelle. Le mieux est donc de les essayer. Si vous souhaitez un comparatif complet (coût, performance, customisation, utilisation, …), rendez-vous ici.

Les navigateurs :

Chrome et Firefox sont les 2 navigateurs de choix. Mais c’est un peu deux salles, deux ambiances. D’un côté :

·       Chrome intègre dans sa dernière version JavaScript en v8.

·       il représente aujourd’hui environ 60% des parts de marché, contre 7% pour Firefox.

De l’autre :

·       Firefox est le chouchou des puristes.

·  il est très investi dans la vie privée et l’Internet libre.

Les outils de déploiement et de code :

Si vous débutez, vous aurez tout juste besoin d’un client FTP.

·       Sur Windows, Putty fera l’affaire ;

·       Sur Linux et Mac, vous utiliserez essentiellement la commande ssh déjà intégrée à l’OS…

·       GIT : indispensable pour toute équipe de développeurs, donne le versioning, permet les back-ups, etc.

·       Bash / ligne de commandes : en particulier si vous utilisez un framework comme Angular ou React, vous aurez besoin d’utiliser des commandes basiques (déplacements dans les dossiers, manipulation de fichiers, etc) pour configurer vos apps. On recommande Zsh avec le plug-in Oh My Zsh. Citons aussi NPM (Node Package Manager).

Quant au déploiement continu, citons Docker et Jenkins ( bon tutoriel d’intro) comme outils en vogue en cette année 2021.

2021 et les technologies Front

Les pages web statiques :

HTML et CSS restent la base du front-end web, et vous connaissez sûrement ces langages si vous lisez cette ligne. (Sinon, OpenClassrooms). C’est essentiel mais il est à noter que ça l’est de moins en moins. Le CSS est toujours très important mais l’HTML est maintenant souvent généré automatiquement par le framework front, du coup, des connaissances de base suffisent.

Si vous souhaitez devenir développeur front, maîtriser ces 2 langages est aussi important que maîtriser l’addition et la soustraction si vous souhaitez devenir mathématicien.

En effet HTML et CSS sont les pierres angulaires du web, car les pages web affichées par vos navigateurs sont écrites en HTML et CSS, même si elles sont générées par du JavaScript.

Ces 2 langages sont simples à appréhender et relativement faciles à apprendre.

Notez qu’en 2021, la responsivité des pages web n’est plus une option et qu’il est donc important de maîtriser la sémantique HTML5 et notamment les media queries de CSS.

Frameworks HTML / CSS :

Voici un état des lieux des principaux frameworks HTML et CSS principalement utilisés en 2020 et qui devraient continuer à l’être cette année :

·       (Twitter) Bootstrap version 4, utilisé aussi bien pour des sites statiques que dynamiques et permet d’aligner facilement les éléments d’une page sur une “grille”.

·       Materialize est un framework plus récent, plus orienté UX mais qui possède lui aussi un système de grille, et génère des interfaces plus “ lisses “. Bootstrap est plus largement utilisé que Materialize, même si la dynamique actuelle est plutôt en faveur de Materialize, sorti plus récemment.

·       Bulma : facile à apprendre et sans JavaScript.

·       Enfin citons Skeleton, le plus léger et parfait pour le prototypage.

Les pages web dynamiques : JavaScript

Il est important d’apprendre D’ABORD le langage avant de se lancer dans un framework. Nous vous invitons donc à commencer par du JavaScript “ nu “ (= Vanilla), pour apprendre à manipuler des DOM et des events, des boucles for et les différents opérateurs logiques, ainsi que les bases de AJAX et JSON.

·       jQuery est de moins en moins utilisé chez nos partenaires et il semble aujourd’hui inutile d’apprendre à s’en servir ;

·       Le format JSON (JavaScript Object Notation) est utilisé pour représenter de l’information accompagnée d’étiquettes permettant d’en interpréter les divers éléments. Apprendre à créer, manipuler et interpréter du JSON est primordial en 2020 car il est utilisé aujourd’hui par la plupart des API. Heureusement, JSON et AJAX sont faciles à apprendre → Tutoriel Youtube de 40 min sur JSON et AJAX.

(Nous reviendrons plus bas sur NodeJS.)

Les frameworks Front en JS :

Les pages web sont aujourd’hui la plupart du temps générées par du JavaScript, et généralement par un des trois principaux frameworks actuels : React, Angular, et Vue.

·        Vue.js est rapide et léger, et facile à apprendre. Très en vogue actuellement. 

. React est très populaire au sein des startups, il est léger, rapide, et utilise Redux et JSX.

·       Angular est le plus utilisé au sein des grandes entreprises, et inclut de nombreuses fonctionnalités. Mais il commence à s'essouffler. 

·  Enfin citons Aurelia, moins populaire que les 3 précédents, ou Ember, dont la courbe d’apprentissage est moins rapide).

Quel framework Front choisir entre les 3 ?

Voici la conclusion de Jens Neuhaus :

“If you love TypeScript: Angular (or React)

If you love object-orientated-programming (OOP): Angular

If you need guidance, structure and a helping hand: Angular

If you like flexibility: React

If you love big ecosystems: React

If you like choosing among dozens of packages: React

If you like really clean code: Vue

If you want the easiest learning curve: Vue

If you want the most lightweight framework: Vue

If you want separation of concerns in one file: Vue

If you are working alone or have a small team: Vue (or React)

If your app tends to get really large: Angular (or React)

If you want to build an app with react-native: React

If you want to have a lot of developers in the pool: Angular or React

If you work with designers and need clean HTML files: Angular or Vue

If you like Vue but are afraid of the limited ecosystem: React

If you can’t decide, first learn React, then Vue, then Angular. “

Et en particulier pour les développeurs Front :

·       Pré-processeur CSS : Nous vous recommandons d’apprendre Sass, qui semble aujourd’hui avoir plus de traction que Less. Un pré-processeur CSS vous permet d’utiliser des variables, des fonctions et toutes sortes d’opérations logiques directement dans le CSS.

·       Babel : vous permet de charger des modules comme NPM directement côté client. Babel permet aussi de recompiler de nouvelles fonctionnalités de ES6 ou 7 en code ES5 et donc de l’exécuter sur les anciens navigateurs.

·       Webpack : qui vous aide à organiser vos applications JS sous forme de modules. C’est le mieux des trois, à notre humble avis. Les deux autres sont des nice to have.

 

Langages côté serveur :

·       NodeJS (qui n’est pas un langage à proprement parler mais un framework back-end en Javascript).

Populaire, rapide et scalable, c’est aujourd’hui quasiment une obligation de connaître NodeJS pour un développeur full stack (JS).

(Quelle est la meilleure façon d’apprendre NodeJS en 2018?)

·       Python : à choisir, apprendre Python est un peu plus recommandé qu’apprendre PHP, dont la cote est plutôt descendante en startup malgré l’émergence poursuivie de Symfony.

·       PHP que l’on cite quand même, car reste malgré tout le langage le plus pratique et facile à déployer.

·       Enfin Ruby : dont la cote retombe légèrement aussi… Au profit de NodeJS. Les startups ont en effet récemment tendance à délaisser Ruby, en raison de difficultés à recruter encore plus fortes que sur d’autres langages.

Python, la nouvelle langue universelle ?

Et leurs frameworks :

·       JavaScript : En plus de Node.JS, évoquons Express.JS car la stack MEAN est régulièrement utilisée par les startups.

·       Python : Django (très courant en startup, plus lourd, gère énormément d’aspects - de la base de données jusqu’à l’API - et fait le travail à notre place. Il est recommandé pour les projets d’une certaine taille), Flask (moins courant, laisse la main, plus utilisé pour du micro-service, en n’installant que le strict minimum et laissant le dév. gérer). On peut aussi citer ici DRF (Django Rest Framework), une extension de Django, plutôt à la mode.

·       PHP : Laravel et Symfony sont deux bons frameworks PHP (Laravel se basant sur Symfony). Notez qu’aujourd’hui il y a malgré tout plus de startups sur Symfony que sur Laravel.

·       Ruby : Ruby on Rails (Sinatra, Nitro).

Côté bases de données :

·       PostgreSQL : a un peu plus de fonctionnalités que MySQL, mais est un peu plus difficile. (en détail : Pro’s and con’s of PostgreSQL vs MySQL)

·       MongoDB : scalable, rapide, et s’intègre très bien avec NodeJS. Si vous apprenez Node, nous vous conseillons très fortement de vous former aussi à MongoDB (stack MEAN). (cf : Comment se former à la stack MEAN ?)

·       MySQL : base de données relationnelle la plus courante, à avoir déjà au moins survolé.

·       Firebase : pas une base de données mais un service cloud temps réel (ne tourne pas en local), maintenu par Google. Fantastique, surtout avec Angular, React ou Vue, mais à apprendre en addition d’une autre.

Bonus : Applications Mobile

·       React Native est de notre point de vue de plus en plus utilisé. React Native utilise le framework React pour créer des applications natives : contrairement à Ionic, ce n’est pas un framework hybride (des web app incluses dans un container natif, créé par Cordova ou PhoneGap). Il peut être intéressant d’apprendre Ionic si vous souhaitez créer facilement des petites apps mobiles mais React Native est sur une bien meilleure tendance cette année.

·       Citons aussi NativeScript, similaire à React Native mais basé sur Angular. Un peu moins courant chez nos startups partenaires.

Conclusion : les tendances tech pour 2021

- Au global, nous assistons à l’émergence de plus en plus d’applications réellement full stack avec API REST, et de moins en moins de pages générées classiquement par un back et rendues par un front. En particulier, les startups construisent de plus en plus de “ Single Page Applications “ et les forts problèmes de SEO qui en découlaient sont de moins en moins contraignants (Google s’adaptant autant que les techniques à mettre en oeuvre).

- Certaines technos qui se sont bien établies : en particulier Materialize, React Native, Python (plutôt que Ruby ou PHP), et VueJS qui montent. Notons l’importance de continuer à faire du Vanilla JS et ne pas se servir de framework quand ce n’est pas la peine : de plus en plus de développeurs “ plaquent “ des templates tout faits sur certains besoins, alors que des solutions plus simples auraient pu être construites en pur JS. Sortez du lot !

Ne soyez pas effrayés par l’ampleur des choses inconnues qui peuvent se dresser devant vous : heureusement, les postes de développeurs juniors existent 

😃 Citons Henri Bergson pour conclure :

“L’unique moyen de savoir jusqu’où l’on peut aller, c’est de se mettre en route et de marcher.”

Aller plus loin

Si vous souhaitez marcher mieux, ensemble et plus vite avec votre équipe, allez vite consulter notre guide sur la méthodo Scrum ! Une méthode “Life-changer” à ne pas manquer 🙂

------------------------------------------------------------------------------------------------------------------------

Ignition Program est le leader du recrutement dans l’écosystème startup, et porte depuis 2013 une ambition forte : bâtir un monde du travail à visage humain, basé sur l’authenticité, l’apprentissage et la confiance.

Que ce soit votre premier emploi, votre 3ème ou 56ème recrutement, nous vous proposons un accompagnement pertinent, humain et personnalisé, ad vitam (quasi) aeternam.

Ignition Program, c’est chaque mois le démarrage de nouvelles histoires entrepreneuriales, fruits de la rencontre du top de nos 5000 postulants mensuels avec nos 1500 startups partenaires. Envie de créer la vôtre et de rejoindre notre communauté de talent ? Faites un tour sur notre site.

Partagez cet article !