Nous pensons beaucoup à l’automatisation. Notre objectif premier chez Stamped est d’appliquer cette automatisation dans l’industrie de la comptabilité, mais nous essayons également de trouver des moyens d’automatiser d’autres parties de notre flux de travail. L’application CoPilot de GitHub a attiré notre attention à cet égard puisqu’il permet d’automatiser le codage logiciel, ce qui est une alternative intéressante pour notre équipe. Cela nous a donc amenés à faire le test de CoPilot pour voir comment nous pouvons l’utiliser chez Stamped.
Bien qu’il ne soit encore trop tôt pour connaître toute l’ampleur de l’impact de CoPilot, notre équipe a pensé qu’il serait intéressant de partager nos premières impressions sur ce logiciel. Les extraits ci-dessous sont des commentaires et des opinions de certains membres de notre équipe sur l’utilisation de CoPilot et son potentiel pour les start-ups.
L'outil CoPilot ressemble étrangement à ce que nous faisons ici chez Stamped. Nous développons des logiciels et des technologies d'IA pour rendre le travail des comptables plus facile et plus fluide. CoPilot fait de même, mais pour les développeurs en automatisant des fonctions de codage. Personnellement, en travaillant avec CoPilot, je trouve cela très pratique d'avoir une liste de suggestions de codes provenant d’autres développeurs, de projets ou d'organisations que je considère comme des sources d'inspiration dans notre domaine technologique. Cependant, même si nous pouvons nous inspirer de la qualité et la performance de ces suggestions dans notre travail quotidien, nous devons garder à l'esprit l'image globale de notre projet et réfléchir à la façon dont ces suggestions peuvent nous aider ou nous obliger à repenser plusieurs parties de notre code pour rester cohérents. Cet outil pourrait changer la donne, mais il a encore besoin d'une validation humaine. Selon moi, il sera intéressant de voir comment les entreprises privées seront capables de bien utiliser l’outil dans le futur.
J'ai eu la chance d'être l'un des premiers bêta-testeurs de CoPilot. Ce que j'aime chez CoPilot, c'est la facilité qu'il apporte à mon travail en complétant automatiquement des blocs de code ou des méthodes répétitives. L’outil me permet essentiellement d’effectuer mon travail beaucoup plus rapidement et de me concentrer sur les parties les plus complexes de mon code. CoPilot étant un nouveau produit, environ 50% de ses suggestions sont utiles et, même dans ces 50%, le code proposé pourrait ne pas aller dans la direction que vous aviez en tête. Comme pour tout algorithme d'apprentissage automatique, au fur et à mesure que des personnes l'utilisent, plus de données alimentent l’outil et, par conséquent, sa performance s'améliore. Voici une image de la suggestion de code de CoPilot dans l'application en temps réel.
Dans l’image ci-dessus, je demande à CoPilot de faire une suggestion basée sur ce qui est déjà importé et écrit dans mon dossier.
Les développeurs recherchent régulièrement sur Google même les fonctions et les phrases de codage les plus élémentaires. Les suggestions CoPilot pourraient nous permettre de rester plus souvent dans notre éditeur, nous faisant ainsi gagner du temps. Cela vient avec l'hypothèse que les suggestions du copilote seront assez bonnes pour être utilisées une grande majorité du temps, ce qui n'est pas encore le cas. Au début de son utilisation, CoPilot sera peut-être une distraction pour le codeur, mais à mesure que davantage de données seront introduites dans l'algorithme, il deviendra un outil plus pratique. J'ai donc l'impression qu'il ne remplacera pas les développeurs, car il ne peut pas mettre en contexte l’intégralité d'une application ou d’un concept. CoPilot, à mon avis, n'atteindra pas un niveau de sophistication où il comprendra ce que le développeur désire créer.
Une chose qui me vient à l'esprit en pensant à CoPilot est sa capacité à résoudre les plus petites « énigmes » de mon codage. Le codage est comme un puzzle. Vous détenez le puzzle terminé que vous vous efforcez de rassembler. Avant de pouvoir commencer à assembler les petits morceaux, nous devons construire l'architecture de notre système et décrire tous les petits morceaux pour qu’ils puissent s'assembler. Au fur et à mesure que CoPilot deviendra plus fiable, nous pourrons peut-être consacrer moins de temps à la mise en œuvre de ces plus petites pièces de puzzle, ce qui nous permettra de passer plus de temps à réfléchir à la conception et à l'architecture de la fonctionnalité sur laquelle nous travaillons.
Je garde toujours l'esprit ouvert concernant l'utilisation de nouveaux outils et de nouvelles technologies. Il est important de rester à jour, en particulier dans un domaine qui évolue aussi vite que le développement de logiciels et ces nouveaux outils nous permettront souvent d'améliorer notre flux de travail et de nous rendre plus efficaces.
Toutefois, je pense qu'il y a effectivement un léger risque de perdre la capacité de juger le code. Le recours accru à l'automatisation signifie également un risque accru de surveillance. Ce n'est pas parce que CoPilot suggère un morceau de code que la fin du code est nécessairement correcte. Il faut donc s'assurer de garder un esprit critique en prenant le temps de bien lire le code, de le comprendre et d'évaluer s'il est adapté au contexte où il a été ajouté.
L'un des principaux avantages de CoPilot qui me vient à l'esprit est la facilité pour un développeur d’apprendre à coder une langue différente. CoPilot devient plus utile dans une utilisation à grande échelle et est un moteur facilitant lors de l'intégration d’une nouvelle langue de codage dans un projet. Les suggestions fournies au codeur lui permettent d'analyser et éventuellement de comprendre plus rapidement les mécanismes d'un nouveau langage. Cela permet aux codeurs d'étendre leur référentiel personnel de langues qu'ils peuvent utiliser.
D'un autre côté, en tant qu'entreprise privée qui doit garder son code sécurisé, en quoi le CoPilot de GitHub sera-t-il utile à Stamped ? Comment s'intégrera-t-il à nos propres méthodologies, normes et projets de codage ? Un tel outil doit pouvoir apprendre du style de codage, des modèles et des usages en vigueur dans une entreprise spécifique. Pour ce faire, il doit analyser le code et construire des modèles en fonction de la façon dont il a été utilisé dans un contexte donné. Nous devons d’abord confirmer que le CoPilote sera capable de fournir des suggestions sur mesure qui augmentent la vitesse de codage de nos propres applications dans notre propre contexte.
Ce qui me passionne le plus chez le CoPilot, c'est la possibilité pour quelqu'un comme moi qui fait la transition entre deux domaines professionnels de pouvoir progresser rapidement. CoPilot agit comme un outil de proposition, comme un collègue qui vous oriente vers des solutions possibles lors de l'écriture de code. Selon ce que j’ai vu jusqu'à présent, je pense que des outils de ce type rendront la programmation plus accessible sans dévaloriser le titre d'ingénieur logiciel.
On peut voir CoPilot comme le filtre photo qui a rendu Instagram populaire. Sans forcément faire de tout le monde un pro de la photographie, les filtres Instagram ont permis à une grande partie de la population de profiter du hobby de la photographie. Je pense que CoPilot permettra éventuellement à ce même changement de se produire. Grâce à sa fonction de suggestion, l'automatisation des méthodes "de base" se fera graduellement jusqu'à atteindre les portions les plus complexes du code, où l'expérience de l'ingénieur logiciel est cruciale.
Au fil des années, de nouveaux outils sont développés et mis en marché dans le but de réduire la charge de programmation du développement de l'IA. Des outils tels que le CoPilot de GitHub permettront aux spécialistes de l'IA comme moi de réduire la charge de programmation de notre travail et de se concentrer davantage sur l'analyse des données. Une fois que CoPilot sera suffisamment développé, il pourrait même atteindre un point où il nous aidera à mettre en œuvre l'architecture de nos réseaux de neurones. Lorsque nous travaillons avec des réseaux de neurones, nous avons généralement deux options, soit commencer à partir de 0, soit utiliser une infrastructure existante qui fonctionne déjà. CoPilot pourrait éventuellement aider à construire ce réseau de neurones à partir d'une description de l'architecture prévue, nous permettant ainsi de réduire le temps passé à programmer et tester cette architecture.
D’ici les prochaines années, l'automatisation devrait perturber le fonctionnement des entreprises et la façon dont nous interagissons quotidiennement. Le CoPilot de GitHub, bien qu'encore en phase de test bêta, a le potentiel d'augmenter considérablement l'efficacité des programmeurs modernes. Cela pourrait aussi rendre l'entrée en programmation plus accessible pour des programmeurs comme Julien. CoPilot a ses inconvénients, mais, chez Stamped, nous sommes ravis de l’utiliser et curieux de voir où il mènera l'industrie dans les prochaines années.
Laissez-nous nous occuper de vos états financiers.