Passer au contenu principal

Comme vous le savez un des besoins primaires de l’être humain est de se nourrir. Et pour ça, il faut gagner des sous, ce qui pour le commun des mortels se traduit par travailler et avoir un salaire. Pour nous dévs, ça signifie qu’on code pour gagner de l’argent. Dès lors, doit-on choisir notre techno de prédilection en fonction du salaire ?

A court terme, ce choix pourrait en effet être tentant. En effet la techno en vue à l’heure actuelle pourra être utilisée pour démarrer de nombreux nouveaux projets, ceux-ci voulant avoir l’air hype pour attirer du monde. Et effectivement quand la techno est assez fraîche, peu de gens la maîtrisent et donc ça peut jouer sur le salaire.

Sauf que… l’informatique est un monde qui change très vite, bien plus que d’autres domaines. Par conséquent la techno à la mode à un instant T peut être complètement passée de mode au temps T + 1. Prenons par exemple le framework Javascript Prototype. Aujourd’hui plus personne ne l’utilise, et aucun projet ne l’exploite. Par conséquent quelqu’un qui serait spécialisé Prototype aurait aujourd’hui bien du mal à trouver du travail. Je prends le cas des frameworks Javascript car il s’agit là des technos les plus mouvantes de ces dernières années. On pourrait faire la même avec GWT, abandonné par Google.

Appliquez-vous plutôt à maîtriser les fondamentaux

En fait on trouve de plus en plus de nouveaux trucs en informatique, des nouvelles librairies sexy, de nouveaux langages, de nouveaux frameworks. Sauf que tout ça rajoute de la complexité d’un côté, et que de l’autre le métier de développeur se résume dès lors à assembler quelques briques de Lego pré-existantes, ce qui n’est pas franchement motivant.

Le vrai souci de tout ça est qu’en abusant de l’utilisation de ces librairies les développeurs finissent par… ne plus savoir coder ! Par exemple si vous abusez du framework Spring sans mettre le nez dans le code de ce dernier pour comprendre comment ça fonctionne, plus tard vous serez bien embêté si pour telle ou telle raison on vous demande d’implémenter une seule fonctionnalité de Spring, sans prendre le reste du framework. Le meilleur candidat pour ça serait d’ailleurs l’AOP.

Tout ça pour dire que si vous maîtrisez les fondamentaux, vous pourrez vous adapter à n’importe quelle technologie, quelle qu’elle soit. Et croyez-le ou non, mais des gens qui maîtrisent vraiment les fondamentaux et qui sont capables de s’adapter à une nouvelle techno sans problème, c’est bien plus difficile à trouver que des « experts » de telle ou telle techno qui ne savent qu’utiliser les libs sans pour autant savoir ce qu’il y a derrière.

Intéressez-vous à différentes technos

Toujours dans la même veine, une technologie peut assez rapidement pérécliter. Par exemple en 2009-2010 tout le monde ne jurait que par Ruby. Or il se trouve que maintenant plus personne ne parle de ce langage. Bon pour les développeurs Ruby il y a encore suffisamment de projets qui l’utilisent pour que vous soyez tranquilles pour un moment, l’un des plus connus étant probablement Puppet, mais ce n’est pas le cas pour toutes. On pourra citer aussi la même pour GWT qui devait résoudre tous les problèmes d’incompatibilité entre navigateurs. Le projet a depuis été redonné à la communauté, et Google en a abandonné le support. Et le nombre de projets qui l’abandonnent va en augmentant…

Mais bon, ce cas illustre bien le fait que bien souvent les modes sont des feux de paille, et la tendance d’un moment ne va pas forcément durer… voire c’est rarement le cas. Il vaut mieux avoir deux ou trois ans de retard sur la tendance et être sûr de ne pas se planter.

D’autre part, en creusant un peu, on se rend souvent compte que derrière différentes technos il y a les mêmes concepts. Par exemple on peut constater une forte ressemblance entre Spring pour Java et Symfony 2 pour PHP. Bref là encore ce qui va compter est votre faculté à passer d’une techno à l’autre sans trop de problème et non d’être un expert à la pointe sur l’une ou l’autre. Alors bien sûr il y a des subtilités que vous apprendrez sur le tas mais dans l’ensemble c’est la marche à suivre.

… et donc…

Tout ça pour dire que ce qui rapporte, ce n’est pas tant de maîtriser la techno du moment que de s’adapter très rapidement. Aujourd’hui de moins en moins de gens savent vraiment coder, ou sont capables de concevoir des librairies ou des frameworks vraiment bien designés. J’espère en faire partie mais c’est à mes pairs de me le dire.

En tout cas ne faites pas comme ces managers ou commerciaux qui naviguent à vue. Pensez sur le long terme (c’est d’ailleurs pour ça qu’il y a tant de tensions entre ingés et commerciaux) si vous avez envie de continuer dans le développement car c’est comme ça que vous construirez votre carrière dans la durée.

Dès lors en tant que dév, le plus important c’est :

  1. Etre curieux
  2. Appliquer le précepte « Read the f*cking manual » au maximum
  3. Etre rigoureux et ne pas accepter de vivre avec du code crade ou qui crache des centaines d’exceptions soi-disant « normales » dans les logs

Une bonne école pour ça peut être de vous amuser à installer un vrai système sur votre ordinateur. C’est certes bien plus simple que par le passé, mais quand même. Et pour continuer configurez-le en routeur si vous avez deux interfaces réseau dessus. 😉

Le reste viendra tout seul, si, si, croyez-moi ! 🙂

Cet article vous a plu ? Vous aimerez sûrement aussi :

Julien
Moi c’est Julien, ingénieur en informatique avec quelques années d’expérience. Je suis tombé dans la marmite étant petit, mon père avait acheté un Apple – avant même ma naissance (oui ça date !). Et maintenant je me passionne essentiellement pour tout ce qui est du monde Java et du système, les OS open source en particulier.

Au quotidien, je suis devops, bref je fais du dév, je discute avec les opérationnels, et je fais du conseil auprès des clients.

Son Twitter Son LinkedIn

Laisser un commentaire