Entretien de la communauté Python avec Dustin Ingram – Real Python

By | juillet 19, 2021

python pour débutant

Aujourd'hui, je suis rejoint par Dustin Ingram, un défenseur des développeurs chez Google axé sur le soutien de la communauté Python sur Google Cloud. Il est également directeur de la Python Software Foundation (PSF) et mainteneur de PyPI. Dans cette interview, nous expliquons en quoi l'utilisation de Python par Google peut différer de la vôtre, ce qu'il faut pour maintenir PyPI, ses objectifs en tant que directeur de PSF, son amour pour PyCons, et plus encore.

Ricky : Merci de m'avoir rejoint, Dustin. J'aimerais commencer par mes questions habituelles : comment êtes-vous entré dans la programmation, et quand avez-vous commencé à utiliser Python ?

Dustin Ingram Headshot

Dustin : Merci de m'avoir!

J'aime dire que ma première expérience de programmation a eu lieu lorsque quelqu'un a décidé qu'il était autorisé, sinon encouragé, pour moi de transporter une calculatrice TI-83 tout au long du lycée. J'ai passé beaucoup moins de temps en cours de géométrie à apprendre la géométrie et beaucoup plus de temps à écrire des jeux textuels en BASIC et, plus tard, des programmes qui feraient mes devoirs de physique pour moi.

J'ai même sorti mon premier programme open source : une petite animation qui faisait ressembler l'écran de votre calculatrice aux personnages fluides et déformés de La matrice (dont j'étais obsédé) et l'ai publié dans le référentiel de logiciels tiers de Texas Instruments.

Mais ma première véritable exposition à la programmation a probablement eu lieu lorsque j'ai découvert Logo, le langage de programmation graphique avec la tortue comme curseur. Je pense que c'était à l'école primaire, et la tâche consistait à essayer de reproduire des formes simples, mais je me souviens clairement d'avoir été époustouflé par les possibilités infinies. Je n'étais pas confiné à un chemin prédéterminé comme la plupart des jeux informatiques pointer-cliquer auxquels j'avais joué auparavant – je pouvais faire faire n'importe quoi à cette tortue.

Mon père est un concepteur d'outils, et quand j'étais au lycée, il dirigeait un atelier d'usinage. L'atelier possédait de nombreux outils classiques pour le travail des métaux : des tours et des fraiseuses qui fonctionnaient principalement à la main. Mais ils disposaient également de nouvelles machines à commande numérique par ordinateur (CNC) qui étaient programmées avec un langage appelé G-code.

Si vous n'avez jamais vu de code G auparavant, le mieux que je puisse décrire est comme un mélange de BASIC et de Logo, mais au lieu d'une jolie petite tortue se déplaçant, vous avez un foret tournant à plusieurs milliers de rotations par minute attaché à une machine d'une demi-tonne. Tous les anciens habitués à utiliser les machines manuelles classiques ne pouvaient pas tout à fait comprendre cette nouvelle technologie, mais cela me paraissait tout à fait logique !

Plus tard au lycée, j'ai suivi des cours d'informatique qui m'ont appris un peu de Java et m'ont convaincu que le domaine valait la peine d'être approfondi. Je suis allé à l'université en informatique et j'ai rencontré Scheme et d'autres Lisps, du C et du C++, mais surtout plus de Java.

À cette époque, j'ai commencé à travailler dans un laboratoire de recherche pour l'université, et même si tout cela était aussi Java, certains des étudiants diplômés les plus âgés et les plus sages étaient vraiment dans ce nouveau langage appelé Python et essayaient essentiellement de le faufiler dans autant de de leurs projets comme ils le pouvaient. Une fois que j'y ai été exposé, j'ai été accro aussi et j'ai commencé à essayer d'en écrire autant que possible.

Plus tard, lorsque j'ai découvert la plus grande communauté open source autour du langage, l'éthique du bricolage qu'il incarnait et l'incroyable concentration sur la convivialité, la lisibilité et la convivialité pour les débutants – sans parler de certaines des personnes incroyables qui le composent – J'étais accro. J'ai eu beaucoup de chance dans le sens où peu de temps après avoir été exposé, ça a vraiment commencé à décoller. Il m'est difficile d'imaginer où je serais sans Python. Je dois beaucoup à la communauté pour cela.

Ricky : Le jour, vous êtes un défenseur des développeurs chez Google dont l'objectif est de soutenir les développeurs Python sur Google Cloud. J'ai déjà parlé à Brett Slatkin, qui a discuté de l'histoire de Python chez Google, et Google est récemment devenu un sponsor visionnaire de la PSF. Google étant un grand partisan de Python, à quoi ressemble le paysage actuel de Python chez Google et quelle est la feuille de route pour Python et Google Cloud à l'avenir ?

Dustin : Quand les gens me demandent à quoi ressemble Python dans Google, je dis généralement que c'est un peu comme un univers alternatif. Toute l'ingénierie logicielle à l'intérieur de Google existe en quelque sorte dans cette bulle qui a ses propres idiomes, outils et modèles qui n'existent parfois pas vraiment dans l'écosystème au sens large. Ainsi, alors que nous avons des millions de lignes de code Python et des milliers d'ingénieurs écrivant Python chaque jour, certaines de nos expériences internes autour de l'utilisation de Python ne correspondent tout simplement pas aux expériences du reste de la communauté.

Par exemple, vous avez peut-être entendu parler du monorepo Google, mais un effet secondaire d'un monorepo est que nous n'utilisons pas vraiment le Python Package Index (PyPI) – du moins pas comme la plupart des utilisateurs de PyPI utilisent PyPI. Donc, tout ce que je pourrais vous dire sur la façon dont Google utilise Python ces jours-ci n'aurait probablement pas beaucoup de sens sans que vous ayez une perspective complètement différente.

Cela dit, je ne pourrais probablement pas vous en dire beaucoup plus que cela! Pas parce que c'est confidentiel, mais parce que j'essaie de passer le moins de temps possible "à l'intérieur" de cette bulle. Je suis un défenseur des développeurs réguliers qui écrivent Python et souhaitent utiliser Google Cloud. Je ne pourrai pas développer d'empathie pour leur expérience si je vis à l'intérieur de la bulle Google. Nous avons toute une équipe qui s'efforce de faire fonctionner Python pour les ingénieurs de Google. Je me concentre sur tout le monde et je nous aide à créer de bons outils pour ces personnes.

Je pense que beaucoup de gens interprètent les « relations avec les développeurs » comme étant la façon dont une entreprise fait du marketing externe auprès des développeurs et de l'évangélisation de ses produits, et bien que cela puisse être vrai dans de nombreux endroits, chez Google, c'est vraiment l'inverse : c'est un rôle profondément technique qui consiste à apporter les commentaires des développeurs, ainsi qu'une compréhension et une empathie pour ces utilisateurs, à nos équipes d'ingénierie et de produit.

Bien que vous puissiez me voir occasionnellement dans une vidéo ou sur la signature d'un article de blog, c'est vraiment la pointe d'un iceberg beaucoup plus gros que vous ne pouvez pas m'attribuer directement, où j'ai plaidé pour des modifications de nos produits, signalé des bogues , et le produit est meilleur pour cela.

Je me considère toujours comme un ingénieur et je contribue parfois à nos produits, mais ce sont généralement les parties open source. Par exemple, avec Cloud Functions, j'ai créé le Python Functions Framework, qui vous permet d'utiliser une seule fonction Python en tant que service n'importe où, et j'ai contribué au buildpack qui alimente l'environnement d'exécution. Ceux-ci sont construits d'une manière qui devrait avoir un sens pour la communauté Python, et non pour l'univers alternatif étrange de Google, et tout le monde peut y contribuer.

L'autre partie de mon travail est que j'utilise mon expérience et ma connexion avec la communauté Python pour aider Google à gérer sa relation avec elle. Cela inclut beaucoup de choses, notamment s'assurer que nous sommes de bons citoyens du logiciel, publier des outils idiomatiques, exercer notre influence aux bons endroits (et pas trop), gérer notre présence et nos conférences et notre soutien financier à l'écosystème, etc. au.

Google est devenu un sponsor visionnaire non seulement parce que nous voulons que la PSF continue de fonctionner (ce que nous faisons, bien sûr), mais aussi parce que nous voulions aider à garantir que certains objectifs spécifiques de la PSF puissent se réaliser, comme l'embauche d'un développeur CPython. en résidence, qui sera le premier développeur payé à temps plein pendant un an par la PSF à travailler exclusivement sur CPython.

Ricky : L'un des chapeaux que vous portez est celui de mainteneur PyPI. Tous les développeurs Python ont utilisé PyPI à un moment donné lorsqu'ils ont installé un package par pip. Mais de nombreux lecteurs ne savent peut-être pas ce qui se passe dans la construction et la maintenance de quelque chose comme PyPI. En fait, vous avez récemment tweeté sur l'énorme croissance de PyPI. Je me demandais si vous pouviez faire la lumière sur ce qui maintient PyPI opérationnel et quel impact la croissance de Python a eu sur PyPI.

Dustin : Une excellente question, et parfaitement chronométrée! Je viens de publier Que faut-il pour alimenter le Python Package Index ?, qui est une mise à jour d'un article similaire d'il y a cinq ans et explique en détail combien nous avons grandi, ce qu'il faut d'un point de vue technique, et comment nous soutenons cette croissance. Je dirais que c'est une lecture obligatoire pour quiconque souhaite utiliser PyPI.

Le TL; DR que je voudrais que les gens retiennent de cet article est le suivant : PyPI, en tant que projet de la PSF, est a) un organisme à but non lucratif b) presque entièrement géré par des bénévoles et c) dépend de beaucoup des infrastructures données.

Je pense que les gens venant d'autres écosystèmes linguistiques où les index de packages ont un financement VC ou des sociétés de plusieurs milliards de dollars derrière eux pourraient être surpris par cela, mais je pense que le fait que cela fonctionne est vraiment un témoignage de la puissance de la communauté Python. Mais il est important de garder cela à l'esprit lorsque quelque chose tombe en panne ou qu'une fonctionnalité n'est pas développée aussi rapidement que vous pourriez vous y attendre.

Ricky : Un autre chapeau que vous portez est celui de l'un des directeurs de la Python Software Foundation. Vous êtes membre du conseil d'administration depuis un an. Comment ça va jusqu'à présent? Quels objectifs vous êtes-vous fixés lorsque vous avez commencé et comment ont-ils changé au cours de la dernière année ?

Dustin : C'est un peu ironique, en fait. Quand je me suis présenté au conseil d'administration en 2019 et que j'ai perdu, un de mes objectifs était de diversifier le financement du PSF. À l'époque, la PSF tirait une quantité insensée de ses revenus – près de 90 % – de PyCon US.

C'était quelque chose qui m'inquiétait un peu quant à la capacité de la PSF à continuer à fonctionner, mais je pense que la plupart des gens ne voyaient pas vraiment cela comme un problème important à l'époque ou ne savaient même pas que la PSF avait un si grand dépendance vis-à-vis de ce point de défaillance unique.

Alors quand j'ai couru à nouveau en 2020, avec le même objectif, et que nous étions en pleine pandémie mondiale et que nous venions d'annuler l'événement qui aurait été notre principale source de revenus. . . Je pense que cela avait plus de sens pour les gens. Et évidemment, la PSF n'a pas fait faillite, mais ce n'est pas parce que je fais partie du conseil d'administration maintenant.

Je pense que nous avons eu beaucoup de chance à bien des égards : que le personnel de la PSF ait été financièrement prudent en vue d'un événement catastrophique comme celui-ci, que la plupart de nos sponsors et participants aient été assez généreux pour rembourser leurs billets cette année-là, et que le le personnel a pu travailler très dur pour produire un événement virtuel viable et souhaitable pour la conférence de cette année.

Mon objectif secondaire était de faire des investissements plus importants dans le personnel et l'infrastructure, en particulier en embauchant des rôles plus spécialisés qui aident la PSF à se développer de manière à la pérenniser et à aider la PSF à exécuter et à financer des projets au profit de la communauté, comme de nouvelles fonctionnalités PyPI. , améliorer la documentation, l'UX, l'accessibilité, l'éducation, etc. Nous voyons une partie de cela se produire maintenant, avec divers projets d'amélioration de PyPI et le PSF remplissant de nouveaux rôles comme le directeur du développement des ressources et un chef de projet pour l'écosystème de l'emballage.

Et mon objectif final était essentiellement "d'écouter ce que la communauté veut et de défendre cela au sein de la PSF" – essentiellement mon travail de jour. Il s'agissait d'une grande déclaration générique et intentionnellement, mais assez rapidement après l'élection, nous avons entendu haut et fort qu'il y avait des améliorations qui devaient être apportées, que le conseil pourrait être plus représentatif des membres votants et que les membres pourraient être plus représentatif de la communauté au sens large.

Donc, au cours de la dernière année, j'ai travaillé dans ce sens : nous avons fondé un nouveau groupe de travail sur la diversité et l'inclusion, nous avons proposé des modifications aux statuts pour cette élection à venir qui ajoutent des limites aux postes de directeur, et nous avons encore plus à venir.

Et il va sans dire que je ne suis pas le seul responsable de ces changements. Tout cela fait partie d'un effort plus large de plusieurs personnes, mais cela fait partie de mes priorités en tant que directeur du conseil d'administration et ce sur quoi je me concentre particulièrement.

Ricky : Vous n'êtes pas étranger aux conférences Python. Votre conférence PyCon 2020 avait un œuf de Pâques qui présentait plus de trente t-shirts différents d'événements Python régionaux, et vous avez également aidé à organiser des conférences comme PyTexas. Je suis donc curieux de savoir à quoi ressemblait votre premier PyCon. Avez-vous une conférence préférée? Et selon vous, qu'est-ce qui fait une bonne conférence Python ?

Dustin : Ma première conférence Python était PyCon 2015 à Montréal. Je me souviens surtout d'avoir été impressionné par la taille et la convivialité de la communauté. Je me souviens aussi avoir regardé l'écran de projection géant dans la salle plénière et vu tous les logos des sponsors de la PSF et pensé: "D'accord, ce sont les entreprises pour lesquelles il vaut la peine de travailler" 🙂 Mon plus grand regret est que je ne savais pas qu'il y avait une conférence T-shirts et je n'en ai jamais eu !

J'ai eu la chance de pouvoir assister à de très nombreuses conférences et j'ai probablement perdu le compte à ce stade. Certains de mes souvenirs préférés incluent un quatuor à cordes à PyCon Taiwan, une conférence à PyGotham dans le bâtiment des Nations Unies et des groupes de mariachis au bord de la piscine à PyLatam. Mais il y en a tellement que je n'ai même pas encore visité que j'espère y assister un jour, comme PyCon Africa, PyCon India, et littéralement n'importe quoi en Amérique du Sud !

Une chose que j'ai apprise au cours de la dernière année, lorsque nous nous sommes limités aux événements virtuels, c'est à quel point j'ai sous-estimé l'importance des aspects sociaux et des relations en personne qui se produisent lors de ces conférences. J'ai assisté à de très bonnes conférences virtuelles, et elles sont en quelque sorte désavantagées par rapport à une conférence en personne, où toute cette interaction se produit par défaut et nous la tenons pour acquise. C'est vraiment difficile de le faire en ligne!

Cela dit, les conférences virtuelles présentent également de nombreux avantages. Le public peut être beaucoup plus large et les conférences sont beaucoup plus accessibles – aucun déplacement n'est nécessaire et les coûts sont également généralement plus bas. J'espère que nous pourrons encore en conserver une partie une fois que nous reviendrons aux événements en personne.

Je pense qu'il y a beaucoup de fonctionnalités qui font qu'une conférence Python ressemble à une conférence Python, mais d'après mon expérience, ce qui est vraiment bon, c'est le simple effort des bénévoles et/ou du personnel qui aident à la produire. Je pense que les personnes qui ont assisté à PyCon US ne réalisent peut-être pas depuis combien de temps le personnel travaille sur l'événement (les lieux sont réservés plusieurs années à l'avance !)

Ricky : Maintenant juste quelques dernières questions. Que faites-vous d'autre pendant votre temps libre ? Quels autres passe-temps et intérêts avez-vous en dehors de Python et de la programmation ?

Dustin : Dans mon temps libre, je fais du bénévolat pour la PSF, je contribue à certains projets open source qui me tiennent à cœur et j'aide à maintenir des choses comme PyPI 🙂 Les gens pensent généralement que ces choses font partie de mon travail quotidien, mais ce n'est pas le cas.

Quand je peux trouver du temps en dehors de ça, je cuisine généralement, bricoler dans mon garage ou mon atelier de menuiserie, jouer de la musique, faire du vélo, camper dans les bois ou simplement traîner avec mon chien.

Ricky: Merci de vous être joint à moi pour cette interview, Dustin. C'était super de discuter.


Si vous souhaitez contacter Dustin à propos de tout ce dont nous avons parlé aujourd'hui, vous pouvez contactez-le via Twitter.

S'il y a quelqu'un dans la communauté Python que vous aimeriez que j'interviewe, laissez un commentaire ci-dessous ou contactez moi sur Twitter.

[ad_2]