La formation continue

Publié par Jean-Francois Gilbert le mardi 6 novembre 2012 à 00:00

En tant que développeurs, il est impératif tout au long de notre carrière de se garder informés de l’évolution de nos différents outils de travail. Au rythme où les frameworks et les langages évoluent, on peut rapidement se laisser distancer si on n’inclut pas des périodes d’apprentissage à notre routine. Même si on n’a qu’un nombre limité d’heures à consacrer à l’étude, on peut se maintenir à jour si l’on utilise ces heures à bon escient.

Certains d’entre nous ont la chance de travailler avec les outils les plus récents et dans des environnements nous permettant d’expérimenter différentes technologies. D’autres par contre n’ont pas cette chance et doivent développer avec des outils désuets. Afin de demeurer compétitif, employable et conseiller nos clients de la meilleure façon qui soit, nous devons fournir un effort afin de garnir notre boîte à outils. S’il est vrai que les employeurs doivent encourager et aider leurs employés à acquérir de nouvelles connaissances, le fait est que le monde du développement logiciel évolue très vite. Il n’est pas réaliste de croire que seul le temps alloué par l’employeur à l’apprentissage est suffisant. Si vous voulez demeurer pertinent dans le marché du travail, il faut mettre un minimum d’effort dans la formation continue.

Nous n’avons pas tous le loisir de pouvoir passer 20 heures par semaine de notre temps libre à expérimenter de nouvelles plates-formes. Certains développeurs qui ont un nombre d’heures limité à consacrer à l’apprentissage de nouvelles connaissances jettent la serviette, croyant qu’ils ne peuvent pas suivre la cadence qu’impose l’industrie du développement logiciel. Bien que cela demande un effort continu, il est important de comprendre que même un nombre d’heures modeste peut grandement contribuer à vous garder à jour.

Peu importe le temps dont vous disposez, la clé du succès repose sur les objectifs que vous vous serez fixés. Ces objectifs doivent être concrets et surtout réalisables dans un cours laps de temps. N’oubliez-pas que vos périodes d’apprentissage seront généralement assez courtes et possiblement irrégulières. Vous n’aurez probablement pas le temps de développer une application très élaborée, surtout si votre but est de toucher plusieurs technologies/frameworks différents.  Donc si vous voulez survoler différents outils, codez une simple fonctionnalité qui touche plusieurs technologies plutôt que de viser à créer une application complète avec une multitude de fonctionnalités.

N’oubliez-pas que vous n’avez pas nécessairement à devenir un expert de chaque technologie que vous étudiez. L’important est de comprendre les principes et de savoir que les fonctionnalités existent.  Quand vous devrez les utiliser, vous aurez tout le loisir de vous attarder aux détails d’implémentation. 

Mais comment décider sur quoi vous allez passer votre temps? Tout dépend évidemment du nombre d’heures dont vous disposez. Voici toutefois quelques idées qui vous aideront peut-être à démarrer.

Si vous avez vraiment peu de temps à votre disposition, concentrez-vous sur ce qui est directement relié à votre travail. Utilisez-vous la dernière version de votre IDE ? De votre langage de programmation ? Quelles sont les nouvelles fonctionnalités ? Y’a-t-il des plugins qui pourraient augmenter votre productivité (outils de refactoring, d’analyse de code etc )? Toujours dans le cadre de votre emploi, ciblez quelques aspects que vous maîtrisez moins. Vous êtes rouillé en SQL ? Vous ne comprenez rien au CSS ? Vous ne faites pas la distinction entre Java et Javascript ? C’est le temps d’y remédier.

Si vous avez plus de temps, revenez à la base : indépendamment du langage de programmation que vous utilisez, est-ce que votre code est SOLID? Connaissez-vous les design patterns les plus utilisés ? Connaissez-vous les enterprise patterns de Martin Fowler ? Ces connaissances sont pratiquement universelles en programmation. Cela risque de vous suivre tout au long de votre carrière.

Explorez également des méthodes ou architectures alternatives à celles que vous maîtrisez. Si vous excellez avec l’approche SOA, attaquez-vous aux services REST. Si vous êtes le roi incontesté des bases de données relationnelles, pourquoi ne pas découvrir l’approche NOSQL?

Il vous reste encore du temps? Tant mieux! Jetez un œil à un autre langage de programmation. Sortir de notre environnement de développement peut parfois nous faire faire des découvertes étonnantes. En apprenant un nouveau langage, vous allez vraisemblablement découvrir de nouveaux concepts ou façons de faire dont vous ne soupçonniez même pas l’existence.  Pourquoi ne pas importer ces concepts dans votre environnement de travail?

Ce ne sont que quelques exemples et les façons de perfectionner notre art sont nombreuses. Si vous avez l’intention de continuer à programmer encore un bout de temps et que vous avez votre métier à cœur, imposez-vous cette routine.  Nous avons la chance d’avoir un métier qui nous permet d’apprendre de nouveaux outils à l’année longue. Il faut voir cela comme une bénédiction et non un fardeau. Il est faux de croire qu’on doit renoncer à tous loisirs pour se garder à jour. Vous avez de l’expérience, vous avez les fondations sur lesquelles vont s’assoir vos nouvelles connaissances. Il suffit de se faire un plan de match et d’avoir la rigueur de le suivre.

 

Mots-Clés :
blog comments powered by Disqus

0 Comments:

Post a comment

Comments have been closed for this post.