La veille : préparer votre futur

Publié le 08 juillet 2009 par Abouchard

Je discutais récemment avec un développeur que je viens d'embaucher, et je lui expliquais entre autres pourquoi il est important de maintenir une veille active. La conversation avait commencé quand je lui ai donné plusieurs magazines à lire (en l'occurrence des Linux Format et PHP Architect), pour l'aider à se plonger dans la "culture informatique" dans laquelle il allait travailler. Cela l'a laissé un peu perplexe au début, mais il a fini par reconnaître mes arguments.

Par le terme de "veille", on pense habituellement à la veille technologique ; c'est le fait de se tenir au courant des nouveautés concernant une technique ou un champ de technologies. La plupart des informaticiens sont férus d'informatique (oui, ça paraît évident), et se tiennent au courant des dernières informations. Dans certains cas, ce sera les news concernant le monde du logiciel libre, ou celles de tout ce qui gravite autour d'un langage de programmation ou d'une plate-forme particulière ; éventuellement, on trouvera des gens qui suivent avec précision les évolutions des processeurs ou les sorties des jeux vidéos. Bref, on voit de tout.

Mais une des choses qui font la différence entre un ingénieur qui fera évoluer sa carrière, et un autre qui stagnera au même niveau, c'est entre autres l'implication personnelle qu'il met dans son travail. Ce qui veut dire aussi qu'il faut prendre du temps pour mettre à jour nos connaissances et élargir nos compétences sans arrêt.

Le mauvais exemple

Je connais des développeurs qui considèrent qu'ils possèdent le savoir nécessaire et suffisant pour faire leur travail. Leur instruction et leur expérience leur permettent de résoudre la plupart des tâches habituelles, et quand ils sont face à un problème, ils cherchent un peu sur Internet et ça suffit bien souvent.

Mais au bout de quelques années, ils ne comprennent pas pourquoi ils sont toujours de "simples" développeurs, alors que leurs anciens camarades de promotion sont devenus chefs de projet ou responsable de développement. Pourtant, c'est assez facile à comprendre.
À chaque fois qu'ils doivent développer un programme qui fait un travail différent de tout ce qu'ils ont fait jusque-là, ils passent d'abord 2 jours à chercher des informations sur la technique en question, et sur les librairies existantes qui pourraient être utilisées pour cela. Dans certains cas, ils se retrouvent même à mettre en place des solutions complètement bancales ; soit parce qu'ils manquent de temps pendant leurs recherches, soit parce qu'ils ne savent même pas vraiment dans quelle direction chercher.

Et il est facile d'imaginer que si ce manque de connaissance implique des pertes de temps au quotidien, cela est encore pire pour tout ce qui concerne les notions qui sont nécessaires à l'évolution de leur carrière. Un développeur qui ne consacre pas de temps à enrichir ses connaissances en développement, c'est un ingénieur qui s'intéresse encore moins à tout ce qui touche la gestion de projet et l'encadrement d'équipes. Alors on ne peut pas s'étonner de voir que leur carrière ne progresse pas.

Le bon exemple

Même si cela ne suffit pas pour devenir un bon ingénieur informaticien, la recherche de connaissances doit être un moteur important dans votre vie.

Je vois deux aspects qu'il faut savoir développer et enrichir :

  • Les connaissances techniques
    • Approfondissez l'environnement technique dans lequel vous évoluez au quotidien. Il peut s'agir du système d'exploitation (quel qu'il soit, il y a toujours des choses à apprendre pour être plus efficace), des langages de programmation (approfondir certaines notions, apprendre à utiliser des librairies ou des frameworks), des bases de données (optimiser des requêtes, c'est des années d'expérience), ...
    • Intéressez-vous à des univers techniques totalement étrangers à vos besoins actuels. Cela peut être l'apprentissage d'un nouveau langage de programmation, de nouvelles techniques (le P2P si vous êtes habitué au client-serveur, le Web si vous faites du client lourd), de nouvelles plates-formes (développement embarqué, sur téléphone mobile), ...
  • Les connaissances entrepreneuriales
    • Identifiez les notions qui vous sont nécessaires dès maintenant. Savez-vous gérer efficacement une liste de tâches, ou faire un planning pour toute votre équipe ? Avez-vous l'habitude de rédiger des spécifications techniques ? Des spécifications fonctionnelles ? Êtes-vous capable de participer aux recrutements de votre entreprise ?
    • Considérez les aspects qui vous semblent carrément obscurs. Apprenez à faire un business plan. Intéressez-vous à la bourse et aux stock-options. Apprenez à lire un bilan comptable.

Bon, c'est bien joli, mais à quoi cela peut bien servir ?

  • Avoir des connaissances théoriques sur les systèmes d'exploitation, les réseaux ou la compilation peut vous sembler inutile. Jusqu'au jour où votre projet nécessitera d'étudier des trames réseau ou de comprendre pourquoi un module kernel ne veut pas se compiler. Si vous attendez ce jour-là avant de vous poser la moindre question sur ces sujets, vous êtes certain de vous rater (quelqu'un d'autre réussira plus vite que vous, ou le projet prendra un retard inconsidéré).
  • Votre carrière va évoluer avec le temps. Vous ne savez pas maintenant quelles sont les technologies que vous aurez à manipuler dans 3 ans (en tout cas, je ne vous le souhaite pas). Cherchez à ouvrir les portes plutôt qu'à vous les fermer. Étudier un nouveau domaine technique, c'est se forger une opportunité professionnelle supplémentaire.
  • Chercher à améliorer votre compréhension des choses (techniques ou non) ne peut qu'améliorer la vision globale que vous avez de votre place dans votre entreprise. Et une meilleure vision, associée à de meilleures compétences, peut vous aider à grimper les échelons, à faire progresser votre carrière.

Mon expérience

Il existe une infinité de possibilités. Personnellement, voici ce que j'ai mis en place :

  • Je suis abonné à un nombre assez conséquent de flux RSS. Je les regroupe par thème (technique, entreprise, présentation, ...). Comme cela peut devenir assez chronophage, et qu'il faut limiter les interruptions pendant la journée, j'ai pris l'habitude de les consulter sur mon téléphone portable dans les transports.
  • Je note chaque notion dont j'entends parler, et qui me semble intéressante ou dont je ne connais absolument rien. Quand j'ai un peu de temps de libre, je passe en revue cette liste et j'essaye d'avoir une rapide vision d'ensemble de la chose en question. Si le sujet semble vraiment intéressant, je le notre dans une seconde liste, pour l'approfondir sérieusement plus tard.
  • Je discute régulièrement de toutes ces notions, avec mes collègues actuels et mes amis informaticiens. Parfois, ils s'y sont déjà intéressés, et me partagent alors leur connaissance. Inversement, le fait de leur expliquer certaines choses me force à mettre mes idées en ordre.

Une bonne idée : Essayez d'organiser dans votre entreprise des réunions mensuelles, durant lesquelles chaque personne va présenter à tour de rôle une technologie, une notion, un outil, une méthode, ... Cela "coûtera" peu à chacun, mais apportera beaucoup à tous.