Marathon de programmation HackITOut 2020 de Manuvie – Programme coopératif

Par Yathartha Panigrahy | December 16, 2020
Marathon de programmation HackITOut 2020 de Manuvie – Programme coopératif

Je pense que personne ne s’attendait à ce que la COVID-19 ait une incidence aussi considérable sur le monde. Mon objectif n’est toutefois pas de rédiger autre essai sur l’ampleur des répercussions sur chacun. C’est plutôt que je repense au marathon de programmation HackITOut auquel j’ai participé du 14 au 16 octobre 2020.

En gros, c’était génial!

Logo HackITOut

Logo HackITOut

Une brève introduction

J’adore participer à des marathons de programmation, mais j’avais peur de ne pouvoir participer à un tel événement dans un avenir prévisible à cause de la COVID-19. J’ai toutefois participé à deux de ces événements  à Manuvie pendant mes études en génie logiciel dans le programme coopératif. Et je peux sans nul doute affirmer que si quelqu’un sait comment organiser des marathons de programmation virtuels, c’est Manuvie!

Le premier événement auquel j’ai participé a eu lieu en avril, pendant mon premier mandat à Manuvie. En tant que participants, nous appelions plutôt cela un « marathon de programmation Slack ». Nous étions un groupe d’environ 10 étudiants stagiaires et nous avions quelques énoncés problèmes à résoudre en ce qui concerne les flux de travail de Slack utilisés à Manuvie. Ce fut une expérience enrichissante avec beaucoup de choses à apprendre, surtout sur l’interface de programmation d’application Slack. C’était mon premier marathon de programmation en mode virtuel. Le terme « zoom » a pris un tout nouveau sens en raison de l’année 2020. Juste une petite statistique, Zoom comptait environ 10 millions d’utilisateurs en décembre 2019. En avril 2020, ce nombre avait grimpé à 300 millions.

Il est donc tout à fait logique que Manuvie utilise Zoom pour un tel événement. J’aimerais dire que le premier « marathon de programmation Slack » a été un excellent essai de Zoom et du concept complet d’un marathon de programmation virtuel. Mais nous travaillions dans un environnement plutôt limité où le nombre total de participants ne dépassait pas 20. Le succès retentissant de l’événement a convaincu Manuvie que les marathons de programmation virtuels peuvent assurément être considérés à plus grande échelle.

 

Marathon de programmation HackITOut 2020 – Que de données!

Donc, s’il y a suffisamment de participants et qu’il y a un intérêt certain pour le projet, pourquoi Manuvie n’organiserait-elle pas un marathon de programmation virtuel de plus grande envergure à l’interne? Et c’est exactement ce que nous avons fait. Manuvie s’y connaît bien en marathon de programmation. Déjà, de nombreux marathons de programmation à l’interne avaient remporté un franc succès. Cependant, celui-ci allait se dérouler en ligne et être beaucoup plus important; nous entrions assurément en territoire inconnu.

Il devait y avoir près de 80 participants. Près de quatre fois le marathon de programmation Slack virtuel que nous avons tenu en avril. Et wow! Manuvie y est parvenue.

Il y avait 12 équipes et trois énoncés de problème, qui nous ont tous été communiqués le mois précédent. Sept ou huit étudiants stagiaires puis des employés à temps plein comptaient parmi les participants. Nous avons également assisté à quelques séances de formation la semaine précédant le marathon de programmation. C’était très important pour quelqu’un comme moi, un ingénieur logiciel avec très peu d’expérience pratique avec Azure et ses capacités d’ingénierie de données et d’apprentissage machine.

Tout le monde aime les chandails à capuchon. Ils sont confortables et faciles à porter et, comme plus personne ne sort, ils sont devenus la norme. Des t-shirts et des chandails à capuchon sont habituellement distribués lors des marathons de programmation, et celui-ci n’a pas fait exception. C’est de loin, l’un des plus beaux chandails à capuchon que j’ai reçus! Le désinfectant et les bonbons étaient aussi une agréable surprise. L’un étant beaucoup plus savoureux que l’autre.

Articles distribués lors du HackITOut

Articles distribués lors du HackITOut

La veille du marathon de programmation, nous avons eu un appel pour renforcer l’esprit d’équipe. Des étudiants avaient élaboré des tâches plutôt intrigantes qui s’appelaient Cerveaux, Beauté et Muscles. Nous avons eu des énigmes intéressantes et l’occasion de faire preuve de créativité en utilisant les filtres de Zoom! Je faisais partie de l’équipe no 1 et c’était génial d’interagir avec tous mes coéquipiers pour relever ces défis amusants.

Notre équipe

Notre équipe!

La Beauté est certes ce qui ressort de cette photo, si je puis dire!

La phase de programmation

Nous avons donné le coup d’envoi du marathon de programmation en obtenant des précisions sur les énoncés de problèmes et les objectifs précis que nous devions atteindre pour progresser en tant qu’équipe.

Il y avait cinq niveaux :

1)  Bronze
2)  Argent
3)  Or
4)  Platine
5)  Diamant

Pour chaque niveau, nous avons dû augmenter la quantité de renseignements que nous pouvions extraire de nos ensembles de données. Ce qui me rappelle que je dois vous informer de l’énoncé de problème que mon équipe devait résoudre.

Manuvie veut être en mesure de prédire ou de déterminer comment les gens la perçoivent par rapport à ses concurrents. L’utilisation de sources de données comme l’interface de programmation d’application des médias sociaux vise à intégrer ces données dans Azure, à utiliser l’apprentissage machine pour les comprendre et les traiter et à les visualiser aux fins de consommation par les utilisateurs. Étant donné que l’apprentissage machine sera mis à profit, cela nous donne aussi l’occasion d’examiner les tendances et de faire des prédictions sur la disposition des gens à l’égard de Manuvie afin que nous puissions mieux comprendre comment améliorer notre image publique.

En tant qu’ingénieur logiciel, cela ressemblait exactement à la « chose » que l’apprentissage machine pouvait faire et dont j’ai entendu parler pendant toutes ces années. Je n’avais pas vraiment travaillé avec Azure ni participé à la préparation préalable des données; c’est pourquoi je tenais à participer au marathon de programmation. Heureusement, un ingénieur de données qui savait exactement par où commencer faisait partie de mon équipe.

On nous a fourni des fichiers CSV comprenant du contenu sur les médias sociaux de différentes compagnies d’assurance et ce que les gens disaient à leur sujet. Après avoir été en mesure d’importer les données du conteneur fourni vers notre propre conteneur dans Azure Data Factory, notre équipe s’est affairée à les nettoyer.

Laissez-moi vous dire que le nettoyage de données n’est pas la chose la plus facile au monde. Vous devez être en mesure d’examiner rapidement l’ensemble de données (qui est énorme) et de décider celles qui doivent être conservées. C’est plutôt abstrait, n’est-ce pas? Disons que vous avez une centaine de colonnes différentes remplies de données différentes sur différentes personnes. Mais vous savez que chaque colonne contient exactement le même genre de données. Il n’est pas facile de choisir entre 10 et 15 de ces colonnes pour résoudre le problème posé. Parallèlement, nous devions exécuter divers scripts dans Azure Databricks pour « nettoyer » ces données. C’est l’essentiel du traitement des mégadonnées.

Lignes de code

Lignes de code

Après ce qui a semblé être des heures, plusieurs obstacles à diverses étapes, et beaucoup d’aide de la part des accompagnateurs, nous avons réussi à nettoyer nos données pour pouvoir en tirer quelque chose. Cette opération a essentiellement permis à notre équipe d’atteindre le niveau Bronze, car nous avons procédé à une exécution automatisée de base sur Azure Machine Learning pour créer notre modèle.

Au cours de la journée et demie suivante, toutes les équipes ont dû utiliser PowerBI pour visualiser les données fournies par notre modèle d’apprentissage machine. Les humains sont principalement des apprenants visuels, et un tableau de bord est l’intersection parfaite entre efficacité et information. C’est pourquoi on a demandé à toutes les équipes d’utiliser la puissance de PowerBI pour créer de magnifiques tableaux de bord remplis d’information.

Tableau de bord PowerBI 1

Tableau de bord PowerBI 1

Tableau de bord PowerBI 2

Tableau de bord PowerBI 2

Dans l’ensemble, chaque équipe a essayé d’améliorer exactement ce que nos modèles d’apprentissage machine produiraient. Nous avons essayé de nettoyer davantage les données et de voir si cela pourrait nous aider à accroître notre niveau d’exactitude. Les équipes qui se sont qualifiées pour un prix ont été en mesure d’utiliser Event Hubs pour traiter des données en direct plutôt que seulement les données nettoyées des fichiers CSV. Au fur et à mesure que les équipes passaient à un niveau supérieur, une nouvelle nuance a été ajoutée pour les tenir occupées et améliorer leurs solutions définitives. L’objectif ultime n’était pas d’obtenir un rapport de toutes nos constatations. Il s’agissait plutôt d’obtenir un type de « produit de données » qui pourrait ultimement servir Manuvie. Et plus chaque équipe peaufinait son produit, plus elle avait de chances de le présenter à certains membres de la haute direction!

J’ai rapidement réalisé que puisque je n’avais pas la compréhension ou la connaissance la plus approfondie de tout ce qui concerne Azure, je devais faire des recherches dans Google et demander à mes coéquipiers et à mes accompagnateurs pour en tirer le maximum. Je pourrais certainement dire que j’ai beaucoup appris simplement en étant exposé à ces outils d’Azure et à ces types d’ensembles de données.

Conclusion et félicitations!

Cinq équipes sur douze ont été sélectionnées pour faire une démonstration aux membres de l’équipe de la haute direction de la Technologie du Secteur Canada de Manuvie. Malheureusement, notre équipe n’a pas été retenue. Nous avons cependant eu l’occasion de faire une démonstration à plus petite échelle à un membre de l’équipe qui s’est joint à notre « salle de discussion » sur Zoom. On nous a demandé de passer en revue notre solution et d’expliquer comment on avait exécuté les tâches.

Tableau de classement des équipes

Tableau de classement des équipes

Les équipes ont fait leur démonstration et ont participé à un tirage de cartes-cadeaux. Plus votre équipe avait été performante, plus vous aviez de chances de gagner. Notre équipe a aussi remporté un prix pour la publication la plus populaire sur Slack pour CETTE photo dans la section Beauté! Bien sûr, c’était mon idée et j’aimerais m’en attribuer le mérite. Après la remise des prix, à 16 h, le vendredi 16 octobre, nous avons conclu ce qui devait être le marathon de programmation le plus intéressant auquel j’ai eu l’occasion de participer!

Je pense qu’à une période où les gens recherchent un sentiment de normalité, le fait de pouvoir organiser un marathon de programmation, quoique virtuel, témoigne du mérite de Manuvie et de ses employés. Nous ne nous sommes pas découragés et avons pu prendre de l’expansion et accueillir beaucoup plus de participants. Zoom et Microsoft Teams ont servi de parfaite toile de fond au marathon de programmation. Les salles de discussion sont ce que j’ai le plus aimé. Tout était beaucoup plus pratique. Les accompagnateurs pouvaient se joindre aux salles de discussion où chaque équipe se réunissait. Nous retournions tous dans la salle principale pour assister aux séances de lancement, qui exigeaient la présence de tout le monde. Et les équipes ont été formidables pour cette démonstration finale. Azure offre tellement de capacités que je ne connaissais pas au début du marathon de programmation. Mais à la fin, je savais que j’en explorerais certainement d’autres.

Dans l’ensemble, ce fut un marathon de programmation très intéressant. Je ne sais pas si je vais assister à une autre séance comme celle-ci, mais je sais que je n’oublierai jamais.

Je tiens à remercier quelques personnes sans qui je n’aurais certainement pas pu participer au marathon de programmation Slack ou HackITOut. Un gros merci à Gennifer Berton et à Nicholas Blurton-Jones d’avoir été deux des gestionnaires les plus géniaux et de m’avoir permis d’y participer. Surtout Gen pour l’organisation des deux événements. Je tiens à remercier Liliana Paroski, une autre stagiaire qui a consacré beaucoup de temps au marathon de programmation HackITOut. Les accompagnateurs sans qui nous n’aurions jamais autant appris. Merci à Adam Wisniewski d’avoir grandement aidé notre équipe. Les membres de l’équipe Communications et transformation, Technologie avec lesquels je travaille et qui ont mis tellement d’efforts dans l’événement; sans eux, rien de tout cela n’aurait été possible. Enfin, merci à Gary Feierabend, Louis Jacob et Hugh Cumming d’avoir permis à Manuvie d’organiser des événements comme celui-ci!

Au prochain marathon de programmation HackITOut!

Vivez des expériences incroyables avec des gens qui incarnent nos valeurs, qui se préoccupent profondément de la croissance et qui font preuve d’empathie envers ceux pour qui nous créons nos produits.

#LaVieÀManuvie