IMG_2190
Posté par Marion Guillou | 1 année

« La mentalité française sur les développeurs doit évoluer une bonne fois pour toute »

À 36 ans, Sébastien Bianchi est un développeur passionné et passionnant. Il dresse pour DevMag un état des lieux détaillé de la profession en France. Où il est aussi question d'Electron JS. Édifiant.

Tu es expert en Angular, pourquoi ce choix de carrière ?

Quand cette techno est sortie en 2012, elle a provoqué un véritable effet « wahou ». Grâce à elle, on pouvait réaliser des trucs carrément originaux pour l’époque, comme le double binding, et l’injection de dépendances. J’étais à ce moment-là du côté obscur du dev – chef de projet – et je ne rêvais que d’une chose : recommencer à coder ! Angular me semblait à la fois magique et accessible, je me suis donc dit : « Tout le monde en parle, c’est génial, ça va surement marcher, banco, je me lance là-dedans ! ».

J’ai un peu déchanté quand je suis rentré dans les profondeurs de ce framework.

Je me suis pris un certain nombre de murs et j’ai perdu pas mal de dents avant de comprendre toutes les finesses – et horreurs – d’Angular.

Des heures passées, le soir après le boulot, à lire le code source et la doc afin de comprendre pourquoi ce que j’avais essayé de faire dans la journée ne fonctionnait pas comme prévu. Heureusement, en persévérant, on finit par mettre toutes les pièces du puzzle en place et par mieux comprendre les mécanismes. Mais pour être franc, il m’arrive encore d’avoir de petites surprises. Les gars qui ont conçu Angular ont parfois eu des idées un peu tordues : ils ont fait du brain fuck, comme on dit dans le métier !

As-tu d’autres technos de prédilection ?

Bien évidement ! Comme tout JavaScripteur, je suis fan de Node et de toutes les technos qui tournent autour : Mongo, le websocket, les streams, etc. Je joue beaucoup avec Firebase, qui rend tout un tas de services, et qui permet de créer des applications en se passant d’un back-end. En ce moment je suis à fond sur Electron, qui permet de réaliser des applications de bureau (Windows, Mac et Linux) en JS. C’est cette techno qui a permis de développer des applications telles que Slack, Visual Studio Code de Microsoft, et bien évidement Atom, l’iDE de GitHub.

Quand je parle d’Electron autour de moi, certains me disent qu’ils ne voient pas l’intérêt de créer des applications de bureau alors qu’on peut tout avoir dans un navigateur. Ils voient ça comme un retour en arrière. Mais personnellement, je ne supporte plus d’avoir 50 onglets ouverts en même temps : je m’y perds, j’en ferme ou j’en ouvre par mégarde, et je ne retrouve pas toujours ce que je cherche.

J’aime aussi beaucoup Ionic, qui permet de créer des applications mobiles quasi natives avec de supers performances.

Comment sélectionnes-tu les nouvelles technos que tu apprends ?

C’est une excellente question ! Car aujourd’hui, ce qui fait la valeur d’un développeur aux yeux des recruteurs, c’est les technos qu’il maîtrise. Il faut donc faire attention à ne pas se lancer dans un truc qui va se périmer trop vite. Ceux qui ont misé sur Flex ou Silverlight savent de quoi je parle ! Ma méthode est un mélange de raison et de passion. Je veille activement et régulièrement toutes les nouveautés, et je les teste rapidement pour voir si je les trouve fun ou pas. Puis, vient la raison : je regarde comment la communauté évolue, comment les clients en parlent, et le taux d’adoption sur les nouveaux projets. Et surtout, le plus important : j’attends ! Paradoxalement, en termes de nouveautés technologiques, « il est urgent d’attendre » !

C’est bien d’avoir un temps d’avance pour être dans le coup, mais il ne faut pas non plus être trop précurseur, et prendre des décisions non réfléchies.

Ça bouge tellement qu’il faut vraiment être précautionneux avant de se lancer tête baissée dans une techno.

Dans le cas d’Electron, c’est de la pure passion, parce que si je me fie à ma méthode, tous les voyants ne sont pas encore au vert. Mais comme cette techno utilise des outils qui ont fait leurs preuves (Node pour la relation avec la machine, et React ou Angular pour l’affichage des vues), c’est un risque très contrôlé car, en bossant sur Electron, j’améliore aussi mes compétences sur des valeurs sûres.

Tu vas animer une conf technique sur Electron au prochain RemixJobs Day, pourquoi ce choix ?

Pour partager ma passion, car je pense vraiment que créer des applications de bureau facilement a de l’avenir. Je fais un pari avec moi-même en misant sur cette techno, mais elle est déjà massivement adoptée aux États-Unis et, la plupart du temps, ce qui fonctionne bien là-bas finit par arriver en France avec un an ou deux de retard.

Electron a de nombreuses qualités : elle permet d’accéder directement aux fonctionnalités de la machine, on peut donc facilement utiliser le centre de notification, les fenêtres natives, la minimisation de l’application dans la barre des tâches, etc. On peut aussi stocker des données sur une base de données locale, ou encore lancer une mise à jour du logiciel automatiquement. De plus, quand on développe avec Electron, on utilise le moteur de rendu de webKit, du coup, plus besoin de vérifier que l’application fonctionne bien sur les anciennes versions de IE, ou encore de gérer le cross browser. Enfin :

Electron génère de véritables applications, il n’est plus possible de décompiler le code comme on le fait en JavaScript, ce qui permet de maximiser la sécurité desdites applications.

Je l’avoue, j’ai aussi un plan secret dont Electron est l’outil essentiel ! Je veux définitivement en finir avec mes 600 onglets ouverts dans le navigateurs ! L’adoption d’Electron par le plus grand nombre est donc la première étape de mon plan machiavélique d’annihilation des applications lancées dans les navigateurs… (Oui Minus, j’ai bien transmis le message, ce soir nous allons conquérir le monde !)

Es-tu un adepte des meet-up ? Selon toi, en quoi sont-ils importants pour un développeur ?

Ma réponse va paraître étrange, car je suis l’organisateur du meet-up ElectronJs, mais oui et non. Je pense qu’effectivement, il est important pour tout développeur de se tenir au courant de l’actualité d’une techno, et d’en découvrir de nouvelles. Je suis très favorable aux échanges et aux démonstrations. J’ai moi même participé à de très nombreux meet-up en tant que spectateur.

Mais je constate que, malheureusement, certains meet-up tournent un peu trop à l’autopromotion de certaines personnes ou entreprises, et qu’on y fait de plus en plus de simples retours d’expériences et de moins en moins de code. 

Je préfère un meet-up dans lequel on explique en détail un point technique particulier, ou une nouvelle manière de régler un problème. Par exemple, j’aime particulièrement la présentation de Virginie Bardales sur le REST (on la trouve assez facilement sur internet). Quand on sort de sa présentation, on a appris beaucoup de choses en peu de temps, et on est vraiment enrichi d’un nouveau savoir. C’est comme d’avoir participé à une Master Class avec un expert.

Virginie Bardales animera justement une conférence tech sur AngularJS au RemixJobs Day du 28 avril

Tu as déjà travaillé en start-up, en freelance, dans des grosses boîtes, en SSII, et tu vas te lancer dans l’entrepreneuriat. Selon ton expérience, quels sont les plus et les moins de chacun de ces statuts ?

Je commencerai par rappeler qu’il ne faut pas confondre start-up en tant qu’entreprise, et start-up en tant qu’état esprit. On peut très bien travailler dans un grand groupe et y trouver l’esprit start-up : ouverture d’esprit, méthodes agiles, bonne ambiance, travailler avec les dernières technos, etc. ; ou travailler dans une start-up au fonctionnement militaire, basées sur un business model consistant à exploiter les développeurs, le tout avec des technos vieillissantes. Dans le fond, ce qui compte le plus, c’est l’équipe avec laquelle vous allez travailler au quotidien. Vous pouvez très bien vous retrouver dans une banque et être entouré de gens adorables et super compétents. Inversement, la petite start-up qui avait l’air super sympa vous proposera un patron au bord de la crise de nerfs, super stressé par sa prochaine levée de fond, avec des collègues qui se haïssent, etc. N’ayez donc pas d’idée préconçue, du type « moi vivant, je ne bosserai jamais dans une grand groupe », vous pourriez passer à côté de superbes opportunités.

Pour les SSII, c’est un peu la même chose. Pour faire simple, oubliez les SSII qui ont été créées dans les années 90 et 2000. Elles ont l’habitude de considérer les développeurs comme de la marchandise, qu’elles vendent comme on vendrait des patates. Il faut aussi se méfier des SSII qui mettent trop en avant la bonne ambiance, parfois c’est juste une opération de « fun washing » menée par de grands groupes à la très mauvaise réputation. En revanche, de nombreuses SSII plus récentes ont compris qu’il était important d’apporter une valeur ajoutée à leurs employés : super ambiance, conf techniques, super matos, une vraie écoute sur les envies et besoins des dev en terme de missions.

Pour finir, le statut de freelance comporte de nombreux avantages : on gagne mieux sa vie qu’en tant que simple salarié (à peu près le double), on choisit ses clients et ses horaires. Mais attention, ce statut n’est pas fait pour tout le monde. Il faut être un peu commercial, rendre des comptes, et accepter de respecter un délai afin de ne pas dépasser les budgets du client. Sans oublier le côté paperasse, et le RSI.

Tu as aussi pas mal d’expérience en tant que recruteurs tech : quelle analyse fais-tu donc de l’état actuel du recrutement tech ? 

Il existe un fossé assez important entre les RH/recruteurs et les développeurs. Ces deux populations ne parlent pas le même langage et ne se comprennent pas toujours. Souvent, pour les recruteurs, les langages de programmation ne sont que des mots clés, « des trucs de dev », qu’ils se contentent de checker sur les CV. Ils se privent eux-mêmes de bons profils, car ils ne savent pas repérer les compétences. Mais attention, ce n’est pas une généralité, certains recruteurs savent très bien ce qu’ils font.

Il y a aussi le problème de la sacro-sainte vénération française pour les diplômes : beaucoup de bons profils qui ne possèdent pas de BAC+ 5 sont rejetés très rapidement.

C’est d’autant plus dommage que nous vivons à une époque où il est possible de se former par ses propres moyens, avec de la volonté et … internet.

Si tu avais un coup de gueule à pousser, ce serait…

Il faut que la mentalité française vis à vis des développeurs évolue une bonne fois pour toute !

En France, les développeurs sont encore considérés comme de simples exécutants. Même les écoles d’ingénieurs martèlent que le parcours naturel consiste à passer quatre ans à développer pour atteindre le Graal tant désiré de « chef de projet ». C’est absurde, car les carrières d’experts et d’architectes sont très rémunératrices et passionnantes.

Avec cette mentalité stupide de vouloir transformer tous les dev en manager on a créé une pénurie d’experts et une armée de profils MOA qui attendent en inter-contrat sur les bancs des SSII…

Il faut aussi réévaluer les salaires des dev en entreprises et en SSII, car ils sont trop bas par rapports aux pays anglo-saxons. Les meilleurs partent donc vers l’étranger, ou se mettent en freelance.

Pour finir, les formations d’ingénieurs doivent se mettre à jour. Nombreuses sont celles qui utilisent encore SVN, ne connaissent pas le DevOps, n’enseignent pas ce qu’est une API Restful, ne propose aucun framework JavaScript, etc. Du coup, il faut plusieurs mois avant de rendre un jeune opérationnel, cette formation est à la charge du premier employeur et c’est un vrai frein à l’embauche. Et puis, je ne compte plus le nombre de jeunes diplômés incapables de faire une simple boucle for – premier jour de cours de la première année. Il semblerait que l’entrée en école d’ingénieurs soit effectivement difficile, mais qu’on donne ensuite le diplôme à tout le monde…

Et un conseil à donner à nos lecteurs ?

Pensez à votre CV pour toute les décisions que vous prenez, car c’est votre principal gagne-pain. Si on vous propose une mission sur une techno dépassée (qui salirait votre CV), dites non. Pour autant, ne vous lancez pas tête baissée sur toutes les nouveautés, assurez-vous un minimum de leur pérennité.

Suivre Sébastien Bianchi sur Twitter

S’inscrire à la conférence de Sébastien Bianchi sur ElectronJS

  • georges

    Ok par rapport à l’analyse des SSII par contre je nuancerais sur la responsabilité des écoles d’ingénieurs. Apprendre un framework serait-il vraiment une bonne idée ? par sûr. Par contre, mettre l’accent sur l’algorithmie, la complexité, l’impact sur les performances des applications, les design patterns, ok. Impossible de contredire également les salaires évidemment bas en France pour cette fonction exigeante qu’est le développement logiciel. Je suis aussi pour le retour des techniciens dans le dév car bon nombre de postes ne nécessitent pas un diplôme d’ingénieur !

  • Charles-Edouard Coste

    Ça m’étonne qu’il n’est pas fait état ici de QtQuick qui permet de faire des applications de bureau bien plus facilement qu’avec des frameworks web.