Quand l'ingénierie du logiciel rencontre le développement personnel : l’application « Moi »


Ceci est la traduction française d'un article que j'ai écris en anglais pour hellocomet.co. Vous pouvez voir l'article original ici.

En tant que développeurs, il devient très difficile d’imaginer le futur. Dois-je encore améliorer mon expertise dans ma technologie phare ou bien dois-je apprendre un nouveau framework ? Il y en a un nouveau qui sort chaque semaine... Lequel choisir ? Dois-je migrer du code vers la Data ou vers l’Intelligence Artificielle ?

Et ce n’est pas tout. Indépendamment de mes compétences techniques, les recruteurs veulent toujours en savoir plus sur mes compétences « douces » et mon « savoir être », avec des questions sur le Creative Problem Solving, l’intelligence émotionnelle et bien d’autres choses sur lesquelles je n’arrive pas à trouver de tuto !

Comment prendre les bonnes décisions ? Comment gérer le temps nécessaire pour améliorer mes compétences autant techniques que les autres ? Quel est le bon angle d’attaque pour développer et maintenir l’application « Moi » ? Laissez-moi vous présenter les concepts en trois parties qui vont aider les développeurs dans leur croissance personnelle.

Le savoir-faire technique : le core package

Nous serons tous d’accord sur un point : nous sommes des techniciens. C’est pourquoi je présente cette première partie comme le cœur de l’application « Moi ». C’est la base de données. Sans cela, pas de codeurs ni de Data Scientist. Pour être efficace, vous devez vous appuyer sur une base de savoir vraiment robuste. Mais la spécificité de nos métiers est que cette connaissance doit être en perpétuelle évolution.

Vous ne pouvez pas vous spécialiser dans une technologie en ignorant toutes les autres. Premièrement parce que vous aurez besoin de collaborer. Deuxièmement car chaque langage ou framework deviendra dépassé un jour ou l’autre. Je connais certains codeurs Actionscript qui avaient une très haute opinion d’eux même il y a dix ans. Ils n’ont rien voulu apprendre d’autre, et l’ont depuis amèrement regretté.

D’un autre côté, tomber dans le syndrome de l’apprenant et essayer de comprendre chacun des frameworks qui émergent chaque semaine n’est pas non plus une option. Il y aura un moment où vous n’arriverez plus du tout à maintenir tout ce savoir éparpillé à jour.

Alors que faire ? Mon conseil subjectif est de choisir une ou deux technologies que vous sentez bien, pas plus, et d’en devenir un véritable expert. Plongez-y profondément. Expérimentez. Contribuez. Partagez ce que vous avez appris pour devenir une référence. Pendant ce temps, gardez un peu de temps pour vous familiariser avec un maximum d’autres technologies. Codez de nombreux petits cas d’étude avec divers langages, bibliothèques et frameworks. Mais n’essayez pas de retenir quoi se soit. Le temps que vous aurez passé à y jouer sera suffisant pour faciliter la collaboration avec leurs spécialistes et pour être prêts à switcher très vite le jour où vous sentirez qu’il est temps de le faire.

Les compétences douces : l’API

Bon très bien. Vous avez maintenant une bonne base de données de savoir-faire techniques, bien remplie et prête à évoluer. Pour que l’application « Moi » fonctionne, il va maintenant falloir servir ces données. Pas de problème, nous avons besoin d’une API, en d’autres termes une collection de protocoles capables de répondre aux requêtes avec les bonnes données au bon moment.

Cela est précisément l’objet des compétences douces et transversales. Résolution de problèmes complexes, pensée critique, créativité, intelligence émotionnelle vont devenir les plus importants critères de recrutement en 2020, selon le Forum Mondial Economique. Les compétences douces sont la couche qui fait le lien entre votre savoir – le cœur – et le résultat de votre travail – ce que vous servez. Sans cette couche de protocoles, même une base de données immense peut rester sous-exploitée.

Le comportement : l’interface utilisateur

Ainsi vous avez une bonne base de connaissances. Vous avez implémenté une bonne API avec toutes les compétences qui vont vous permettre de délivrer de fabuleux produits. Il reste encore une chose de plus à ne pas négliger : l’expérience et l’interface utilisateur de l’application « Moi ». Comment les gens – clients, employeurs, collaborateurs, etc. – vous perçoivent ?

Les jours sont loin où le codeur de génie construisait des choses incroyables de son côté sans ne parler à personne. Si vous êtes un développeur doué mais qui devient un collaborateur toxique, vous n’irez pas loin. Alors soignez votre frontend.

Soyez gentils avec les autres. Partagez vos connaissances. Essayez de réduire le stress. Apprenez à accepter vos émotions sans les laisser vous submerger. Si c’est difficile et peu naturel pour vous, prenez du temps pour vous connaître mieux au travers de la relaxation, de la méditation ou tout autre technique de développement personnel. N’intellectualisez pas, essayez seulement. Et si c’est vraiment trop dur, alors laissez un coach ou un mentor bien choisi vous aider.

Ne sous-estimez pas le développement personnel. Certains employeurs aujourd’hui n’hésiterons pas à choisir un candidat un peu moins expérimenté mais plaisant contre un génie agissant comme un ours mal léché.

En conclusion

Vous êtes des développeurs, ce que vous connaissez le mieux sont les applications. Aussi, vous imaginer vous-même comme une application dans une place de marché n’est pas si idiot que cela. Si vous voulez que les gens vous choisissent, votre base de données doit être forte et pas superficielle. Vous avez aussi besoin d’une bonne API pour servir cela de la manière la plus efficace possible. Enfin, une belle interface vous aidera à la faire de manière élégante. Négligez un seul de ces points, et vous n’obtiendrez jamais d’étoiles de vos « utilisateurs ».

Affiner vos connaissances techniques est bien mais vos compétences transversales et votre comportement ne sont pas à négliger. Améliorer les trois facettes ensemble peut faire une vraie différence. Etre un bon développeur est une chose. Mais être un grand développeur avec qui il est agréable et plaisant de travailler, ça c’est vraiment autre chose.