90 % des développeurs coderaient d'ores et déjà au moyen d'IA, dont 6 % en-dehors du travail

90 % des développeurs coderaient d’ores et déjà au moyen d’IA, dont 6 % en-dehors du travail

90 % des développeurs coderaient d'ores et déjà au moyen d'IA, dont 6 % en-dehors du travail

92 % des développeurs américains utiliseraient d'ores et déjà des IA dans le cadre et en dehors de leur travail, indique une étude de GitHub effectuée auprès de 500 développeurs basés aux États-Unis dans des entreprises de plus de 1 000 employés. Seuls 6 % ne s'en serviraient qu'en dehors de leur travail.

70 % estiment que l'IA apporterait des avantages significatifs, et plus particulièrement afin de les aider à respecter les normes de performance existantes en améliorant la qualité du code, en accélérant les résultats et en réduisant le nombre d'incidents au niveau de la production, ou encore pour produire encore plus de lignes de code, souligne ZDNet.

Selon l'enquête, « les développeurs veulent se perfectionner, concevoir des solutions, obtenir des commentaires des utilisateurs finaux et être évalués sur leurs compétences en matière de communication ». En d'autres termes, résume ZDNet, générer du code à l'aide d'IA est un moyen de parvenir à une fin, et non une fin en soi : 

« Les développeurs estiment qu'ils devraient être jugés sur la manière dont ils gèrent ces bogues et ces problèmes, ce qui est plus important pour les performances que les seules lignes de code. Cela va dans le sens de la conviction que la qualité du code, plutôt que la quantité de code, devrait rester un indicateur de performance de premier ordre. »

Ils s'inquiètent a contrario que l'IA amène les managers à se concentrer encore plus sur la production de code plutôt que sur la livraison d'un code de qualité. Ils craignent également que certains ne s'improvisent développeurs sans comprendre ni donc pouvoir expliquer le code qu'ils auraient fait générer par une IA.

Ils estiment cependant que les IA leur donneront plus de temps pour se concentrer sur la conception de solutions, et espèrent pouvoir passer plus de temps à concevoir de nouvelles fonctionnalités et de nouveaux produits plutôt qu'à écrire du code standard.

Commentaires (34)


La statistique me paraît très élevée: étude GitHub, aux USA, sur 500 “volontaires”, entreprises de plus de 1.000 salariés? On a compté le nombre d’options CoPilot associées aux comptes GitHub Enterprise?


Je voulais m’abstenir mais ça me gêne …



C’est pas une étude, c’est de la comm’.
Que github prétende que son produit soit utilisé par 90% des dev, pourquoi pas. Mais que NXI se fasse le relais peu critique de cette “info” me semble un peu léger.


Développement ou paramétrage de framework ?



C’est grave quand même d’enrichir son expérience professionnelle via une IA qui fournit des informations / conseils / recommandations plus que moyennes alors qu’il y a à côté de soi des personnes expérimentées. D’autant plus que se pose les problèmes de droits intellectuels, de la maintenance corrective et évolutive, de la confidentialité, etc …



Y’a quand même un p’tit goût d’étude bidonnée afin de faire passer le message que tout le monde doit passer à l’IA et arrêter d’utiliser son cerveau.



Ils s’inquiètent a contrario que l’IA amène les managers à se concentrer encore plus sur la production de code plutôt que sur la livraison d’un code de qualité. Ils craignent également que certains ne s’improvisent développeurs sans comprendre ni donc pouvoir expliquer le code qu’ils auraient fait générer par une IA.




C’est pour ça que je préfère la comm’ de Microsoft/GitHub sur les outils IA que celle de OpenAI (malgré mon reproche de les voir nommer tous les outils IA “Copilot” ce qui créé plein de confusions entre les offres). OpenAI vend son bébé et veut vendre du rêve avec, quitte à enrober la réalité et la déformer.



La comm’ de MS/GH autour de ces outils est que ce sont des partenaires, des assistants (GitHub Copilot est vendu en tant que “Your AI pair programmer”). Le mot important ici est “pair”, il ne travaille pas seul, il travaille en binôme. Le dev lui demande un truc, il suggère. Ici aussi le mot “suggère” est important.



Et la posture de tous les contacts avec qui je travaille là bas est généralement la même : l’outil ne remplace pas le dev et n’a pas pour objectif de faire que des gens s’improvisent dev (c’est plutôt le discours du low-code/no-code en fait, mais pour le coup c’est mieux encadré tout en ayant des risques d’exposition/fuite de données si mal géré) mais bien de l’aider et l’accompagner. C’est la raison même du nom “Copilot”.



Il faut donc éviter effectivement de tomber dans l’horrible travers du “j’ai pas besoin de dev” au même titre que la culture DevOps fut mal interprétée par certains qui considéraient ne plus avoir besoin d’admins (dit pattern NoOps, une connerie, considéré comme anti-pattern justement), le dev est là pour apporter son expertise. Et dans tous les cas, un workflow de développement se doit d’intégrer toutes les barrières nécessaires (”quality gates”) empêchant de pousser en production du code buggé ou troué niveau sécu. GitHub Copilot dans sa version actuelle est “juste” un linter / fournisseur de suggestions de luxe. Sa version Copilot Chat/X est censée justement apporter le prochain niveau où à partir d’un prompt ou d’un diagramme il produira le code mais aussi pourra suggérer des corrections de vulnérabilités ou bugs.



Mais le dev reste responsable du code produit et de l’intégration des suggestions (c’est même indiqué dans les conditions d’utilisation du produit). Car ce sont bien des suggestions, pas du prêt à l’emploi.


Je suis aussi assez étonné par cette statistique. En discutant avec dactuels et d’ancien collègues, tous ont essayés, mais personne ne l’utilise tout les jours dans le travail. De plus, les entreprises n’ont pas l’air d’accepter que leurs codes partent sur des plates-formes étrangères sans contrôles sur ce qu’elles en fond.
Peut-être dû à des mentalités différentes entre américains et français.


Pour le coup l’étude est américaine, donc ça les dérange moins de voir leur code partir chez Azure US :D


Tous ont essayé, s’ils ont mal posé la question, ça fait 100%. Je dirais que c’est un problème de sondage.
Quand un sondage est présenté, on a des résultats synthétiques à une question, mais parfois, ça nous cache les 10 questions autour, qui sont quand même utilisées pour nous synthétiser le résultat.



Au boulot, on nous a formellement interdit de l’utiliser, mais vu les tests qu’on a fait, on n’a pas été convaincus.
En plus, il lit pas tes specs pour faire ton code et… Ah merde, on n’a des specs post-it où il faut connaitre beaucoup de contexte pour comprendre.


S’il y a autant de conneries dans le code généré par IA que sur les textes rédigés, ou les réponses aux diverses questions, ça va être joli le résultat, un merdier inextricable, ingérable et impossible à débuguer sauf à y passer 10 fois le temps qu’il aurait fallu pour le dev correctement à la base :transpi:



Du coup il faudra encore plus de devs pour corriger les conneries produites qu’avant l’arrivée de ces trucs, c’est beau le progrès :D


Copilot est paramétré pour être moins imaginatif que l’est ChatGPT (ce qu’on appelle aussi l’hallucination, qui est paradoxalement la force de l’IA génératrice). J’ai déjà vu passer des beaux fails mais sinon d’ordre général il est plutôt pertinent.



Dans tous les cas, c’est le dev qui décide à la fin s’il fait confiance à la proposition de la machine ou non. Si le dev accepte bêtement ce que l’IA propose, c’est lui qui est dépourvu d’intelligence, pas l’IA.



En tous cas pour avoir testé les deux à titre perso, et étant d’un profil non développeur, j’ai eu moins à revenir sur les propositions de Copilot que sur ChatGPT. Ce qui est en soit logique, l’un étant un modèle spécialisé code, l’autre généraliste.



Même utilisation, mais sachant que je suis pas dev. ChatGPT j’aime bien car il explique le code, c’est pratique pour comprendre ce qu’on fait mais comme c’est pas sa spécialité il part vite en sucette. J’ai hâte de pouvoir mettre la main sur la beta de Copilot X car j’ai déjà eu plusieurs démo et on passe à un autre niveau.


SebGF

Copilot est paramétré pour être moins imaginatif que l’est ChatGPT (ce qu’on appelle aussi l’hallucination, qui est paradoxalement la force de l’IA génératrice). J’ai déjà vu passer des beaux fails mais sinon d’ordre général il est plutôt pertinent.



Dans tous les cas, c’est le dev qui décide à la fin s’il fait confiance à la proposition de la machine ou non. Si le dev accepte bêtement ce que l’IA propose, c’est lui qui est dépourvu d’intelligence, pas l’IA.



En tous cas pour avoir testé les deux à titre perso, et étant d’un profil non développeur, j’ai eu moins à revenir sur les propositions de Copilot que sur ChatGPT. Ce qui est en soit logique, l’un étant un modèle spécialisé code, l’autre généraliste.



Même utilisation, mais sachant que je suis pas dev. ChatGPT j’aime bien car il explique le code, c’est pratique pour comprendre ce qu’on fait mais comme c’est pas sa spécialité il part vite en sucette. J’ai hâte de pouvoir mettre la main sur la beta de Copilot X car j’ai déjà eu plusieurs démo et on passe à un autre niveau.


J’ai oublié une utilisation de ChatGPT : quand j’ai besoin de faire un truc, mais que je ne sais pas forcément quelle bibliothèque utiliser. Dernier exemple en date : besoin d’un code pour transférer un fichier en SFTP.



Un simple prompt :




Ecrit moi un programme en C# pour déposer un fichier via SFTP




Et il m’a généré un beau programme, où je n’avais plus qu’à personnaliser les variables qui vont bien (hôte, nom d’utilisateur, mot de passe). En 10s, j’avais donc :




  • une bibliothèque à utiliser

  • un exemple d’utilisation



J’ai gagné quelques minutes :)


fdorin

J’ai oublié une utilisation de ChatGPT : quand j’ai besoin de faire un truc, mais que je ne sais pas forcément quelle bibliothèque utiliser. Dernier exemple en date : besoin d’un code pour transférer un fichier en SFTP.



Un simple prompt :




Ecrit moi un programme en C# pour déposer un fichier via SFTP




Et il m’a généré un beau programme, où je n’avais plus qu’à personnaliser les variables qui vont bien (hôte, nom d’utilisateur, mot de passe). En 10s, j’avais donc :




  • une bibliothèque à utiliser

  • un exemple d’utilisation



J’ai gagné quelques minutes :)


Nice ! Par contre faut faire attention aux bibliothèques, c’est devenue une surface d’attaque. Les modèles pouvant halluciner et générer des noms de bibliothèques qui n’existent pas, des attaquants produisent ces fausses libs pour tromper.



Ce qui revient à mon commentaire en #3 : un pipeline de développement doit inclure les étapes de sécurité usuelles telles que le SAST et le SCA.


SebGF

Nice ! Par contre faut faire attention aux bibliothèques, c’est devenue une surface d’attaque. Les modèles pouvant halluciner et générer des noms de bibliothèques qui n’existent pas, des attaquants produisent ces fausses libs pour tromper.



Ce qui revient à mon commentaire en #3 : un pipeline de développement doit inclure les étapes de sécurité usuelles telles que le SAST et le SCA.


On est entièrement d’accord :) Maintenant, quand j’utilise une bibliothèque, je regarde fais toujours une recherche (depuis quand elle existe, taille de la communauté, licence, …).



Le nombre d’utilisation est aussi un indicateur (quand une bibliothèque est utilisée plusieurs millions de fois, c’est généralement bon signe).


fdorin

On est entièrement d’accord :) Maintenant, quand j’utilise une bibliothèque, je regarde fais toujours une recherche (depuis quand elle existe, taille de la communauté, licence, …).



Le nombre d’utilisation est aussi un indicateur (quand une bibliothèque est utilisée plusieurs millions de fois, c’est généralement bon signe).


Depuis quelques temps certains outils SCA intègrent aussi la réputation du développeur sur la partie activisme politique notamment. Exemple avec les libs sabotées par des devs lorsque utilisées par des russes en signe de protestation.


SebGF

Depuis quelques temps certains outils SCA intègrent aussi la réputation du développeur sur la partie activisme politique notamment. Exemple avec les libs sabotées par des devs lorsque utilisées par des russes en signe de protestation.


Merci, c’est bon à savoir :)



SebGF a dit:


La comm’ de MS/GH autour de ces outils est que ce sont des partenaires, des assistants (GitHub Copilot est vendu en tant que “Your AI pair programmer”). Le mot important ici est “pair”, il ne travaille pas seul, il travaille en binôme. Le dev lui demande un truc, il suggère.




Ca me fait froid dans le dos d’entendre ce terme de pair programming avec une inintelligence artificielle. C’est considérer que l’IA est l’égal d’un développeur. Hors elle n’est qu’une aide potentielle, mais en aucun cas elle fait avancer le code : à la fin - et pour le moment - c’est toujours l’humain qui doit prendre la décision de si le code proposé par l’IA est pertinente et utile. Contrairement à un copilote de voiture pour lequel le pilote fait une confiance quasi aveugle. On en n’est pas encore là pour l’IA et le code.



Personnellement, j’utilise les outils à base d’IA uniquement pour faire des recherches au même titre que je ferais des recherches sur Stackoverflow ou Reddit, et qui peut me fournir des résultats un peu plus précis, “plus rapidement” (mais pas forcément plus exact).
Bon, comme les 2 services sont en carafes ces derniers temps, je suis content que les IA aient crawler leurs contenus avant :transpi:


Et à la louche 99% codent avec le cul. :transpi:
( pour ceux qui ont la ref :byebye: )


Cela pourrait être une bonne idée pour améliorer le code de certains développeurs. Toute ressemblance avec une évènement de la vie réelle n’est que pure coïncidence ! :roll:


Faut voir.
Si les devs se content de demander le code à l’IA sans le checker, ca a toutes les chances de produire du code pourri effectivement.
Après, si l’IA sort du code et que le dev le checke derrière, il se pourrait que l’opération “code par IA + check/rectification par le dev” soit plus rapide que faire du code from scratch.
Et à mon sens si les devs modernes produisent du code de merde, c’est pas qu’ils soient mauvais en soi, c’est à mon sens que comme dans plein de domaines, on ne leur donne absolument ni le temps ni les moyens de faire bien, alors il font à l’arrache pour mise en prod rapide.



Donc tout ce qui pourrait laisser de la latitude temporelle au dev pour améliorer son code et reflechir dessus, c’est à considérer, pas à evacuer d’un geste hautain de la main sans même reflchir aux bienfaits éventuels de la solution


Pour celles et ceux que ça intéresse, un youtubeur a demandé à Chat GPT-4 de développer un Flappy Bird en C# pour Unity, ça donne une idée des choses actuelles sur ce qui est faisable et les limites : Can AI code Flappy Bird? Watch ChatGPT try - La vidéo dure 7mns30


Pour ma part, j’ai essayé Github Copilot, et j’ai été convaincu. Alors non, il n’architecture pas l’application à ma place.



Par contre, les morceaux de code chiant et répétitif, il les fait très bien. Cela me fait gagner du temps d’appuyer une fois sur tab plutôt que d’écrire les lignes les unes après les autres.



Quoi qu’il en soit, le gain en productivité compense largement le coût pour moi :)



Enfin, il y a encore une utilisation que je n’arrive pas à faire (et est-ce que je le veux vraiment ?), c’est de lui dire, je veux une fonction qui fait ça, écrit la moi. Je tape toujours mon code, et je m’en sers uniquement pour de la complétion.


Même expérience pour moi, je le trouve particulièrement efficace pour générer des portions de codes rebarbatives : switch/case, enums, log, injection de dépendances …



Ajouter un commentaire de code décrivant la fonction permet d’orienter plus précisément le résultat.



Un vrai gain de temps.


Est-ce que par hasard ce chiffre très élevé pourrait venir du fait que le machine a été activé par défaut à l’insu du plein grès de pas mal de développeurs et développeuses ? que du coup peu (comme dit plus haut par d’autres commentateurs) ont l’air de l’utiliser de façon active et répétée ?


Pour moi, m’IA c’est juste une évolution supplémentaire dans la completion automatique de code:




  1. complète le mot-clé

  2. complète le nom de méthode/propriété

  3. complète la liste des paramètres de la méthode

  4. complète avec un snippet

  5. complète avec l’IA


on parle de VS avec autocomplétion de la ligne en cours, des switch/case remplis tout seul a base de touche tab, ou on parle de Chat GPT ?
car le premier, me sert tout les jours, et c’est un gain de temps tout en gardant la maitrise
car le second c’est pas ouf ouf hein. Peut-être en dev web ?



À la COGIP on fait de la machine indus de déanusseur de poulpe, déjà qu’on à eu du mal à ce que l’it nous autorise VS22 et VS Code, c’est pas pour balancer tout le code/secret indus des process chez ChatGTP, surtout quand tu passe ton temps à revoir/adapter/nettoyer le code que tu à eu.



D’ailleurs il gère pas LabView et TestStand de Nationnal Instrument, enfin ça ne génère pas un fichier utilisable


C’est une grosse attaque sur les salaire.
Le but : Faire croire que coder c’est facile parce qu’une IA peut le faire.



C’est comme les boites de com qui veulent des photographes mais qui avancent l’argument que n’importe qui peut le faire avec un téléphone mobile. Bin pourquoi demander l’audience d’un photographe en premier lieu ???



C’est bien évidement un bidonnage.



Bref…


Je fais partie des développeurs qui utilisent une IA pour m’aider dans mon travail.



Github copilot pour de la complétion avancée. Dans mon cas je l’utilise surtout pour des courts morceaux (quelques lignes en général), et assez souvent il est assez juste, ça me double pas la productivité par 2 sur une journée (t’façon je passe pas toute ma journée a pisser du code).



J’utilise aussi chatgpt de temps en temps. Pratique quand j’ai besoins d’une requête pour interroger une base de donnée ou d’une commande particulière. Il peut aussi me donner quelques idées sur de potentielles optimisations, mais en général, il faut quand même avoir une idée de ce qui est faisable et faire attention à ce qu’il dît. Il est confiant même quand il donne de mauvaises réponses



(reply:2138525:TexMex) Mauvais exemple.




Si on devait reprendre l’exemple de la photographie ça serais surtout pourquoi engager un photographe qui va te couter une blinde sans forcément avoir le résultat que tu désire alors que tu peut chopper une image dans banque d’image ?



Et dans l’absolu si tu nourris correctement une ia avec une banque d’image tu pourra par la suite générer le même type d’image mais avec les gens qui font bien.



Pour être plus dans le sujet concernant le code, qui n’a jamais passer des heures sur google à chercher un bout de code qui marche ?



(quote:2138540:skankhunt42 )
Si on devait reprendre l’exemple de la photographie ça serais surtout pourquoi engager un photographe qui va te couter une blinde sans forcément avoir le résultat que tu désire alors que tu peut chopper une image dans banque d’image ?



Et dans l’absolu si tu nourris correctement une ia avec une banque d’image tu pourra par la suite générer le même type d’image mais avec les gens qui font bien.



Pour être plus dans le sujet concernant le code, qui n’a jamais passer des heures sur google à chercher un bout de code qui marche ?




Je vais détailler un peu.



Ce dont je parle c’est qu’il y aura toujours besoin de photographe. Eux sont capables de te produire un résultat “calibré” en fonction d’un cahier de charge. Ce que ne fera jamais un gus avec un mobile ou une banque d’image qui il faut le dire sert la même boue de bout en bout.



Ces boites de com contactent des photographes et sortent l’argument dans un but bien évidement de faire pression sur les prix.



Le même concept s’applique au développement.



(reply:2138555:TexMex) C’est peut être valable pour une boite de com bien spécifique.




Mais pour des choses de tous les jours les banques d’image sont largement suffisante. Mais d’un autre côté est-ce mal ? Sachant que ça permet de faire aussi de la com à pas cher au lieu de ne pouvoir en faire ?


La statistique semble haute, mais je suis en accord avec les conclusions. Non l’IA ne remplace pas le dev, mais Oui l’IA a un potentiel énorme pour aider le dev.



Perso je m’en sers pas mal pour des bouts de code un peu chiant tels que l’écriture de tests.



(reply:2138566:skankhunt42 )




Le soucis des banques d’images c’est que c’est tout bénef pour la banque d’image, moins pour ceux qui la remplissent.



Shutterstock semble payer entre 15% et 40% en fonction de la popularité de la photo.



Si on prend 5 crédits en one shot (10€ par images) il faudrait en vendre 500 pour avoir un revenu de 1000€ (un peu près)
Sachant que le minimum par image semble être autour de 0.212€ (normalement c’est moins, mais difficile de prendre en compte les vidéos et les musiques en plus).
Il faudrait vendre plus de 10 000 images pour avoir 1000€.



Sachant qu’il faut souvent des modèles, qu’il y a certainement du travail de retouche en plus, …


Pour les personnes intéressées par des chiffres français, d’après une étude de Pôle Emploi, l’IA est déjà très utilisée en entreprise avec de fortes disparités selon les secteurs. La même étude montre aussi que les employeurs français sont encore peu emballés par l’outil avec 31% qui indiquent déjà l’utiliser.



Le secteur industriel, agricole et commerce sont parmi les gros consommateurs de ces solutions. (pour le retail, le chatbot Hopla de Carrefour est un exemple parmi d’autre)



(reply:2138576:misocard) Je sais bien.




Et c’est encore pire pour les banques qui pratiquent un abonnement à téléchargement illimité.


Il y a donc 90% de dev bullshit aux USA. Cela correspond à mon expérience pro’. :D


Fermer