Entretien de la communauté Python avec Bob et Julian de PyBites – Real Python

By | mai 11, 2019

trouver un expert Python

Cette semaine, je suis rejoint par Bob Belderbos et Julian Sequeira de la célébrité PyBites. Bob est un développeur de logiciels chez Oracle, en Espagne. Julian est technicien de centre de données chez Amazon Web Services, en Australie.

Rejoignez-nous pour discuter de la création de PyBites et de ses perspectives d’avenir. Nous étudierons également l’amour secret de Bob pour le dessin et l’amour pas si secret de Julian pour une bonne pinte.

Ricky: Bienvenue, Bob et Julian! Ou est-ce Julian et Bob? Dans les deux cas, merci de vous joindre à moi pour cet entretien. Commençons par les premières questions habituelles. Comment êtes-vous entré dans la programmation? Quand as-tu commencé à utiliser Python?

Julian Sequeira

Julien: Nous préférons utiliser «booléen». Pas vraiment, mais faisons en sorte que cela reste.

Le bogue de programmation (jeu de mots prévu!) M’a d’abord mordu au lycée, mais je me suis plongé dans le codage à la fin de 2015.

J'avais besoin d'un moyen de suivre les heures supplémentaires que je faisais dans mon rôle d'ingénieur de terrain chez Oracle pour m'assurer d'être payé correctement. Entrez Python (sur recommandation de Bob).

Je me suis fabriqué un système de suivi des heures supplémentaires de la CLI comprenant un système de menus rudimentaire avec des options simples pour calculer ma rémunération des heures supplémentaires après impôt. C'était basique, fonctionnait comme une gâterie et me rendait accro à Python.

Astuce: ce sont les cas d’utilisation concrets qui permettent à l’apprentissage de rester solide!

La rapidité et la simplicité de Python comparées à mes années de lycée en C ++ m'ont rendu accro. Ensuite, nous avons démarré PyBites, et le Python est devenu réel. (Vrai python, trouver?)

Bob Belderbos

Bob: Pour moi, tout a commencé chez Sun Microsystems en 2009. J'ai rejoint le groupe de support Systems et trouvé un créneau pour développer une application Web permettant d'analyser les sorties de diagnostic, dont nous recevions des milliers chaque mois. Cela est devenu un outil de base pour les organisations d’assistance, leur évitant d’innombrables heures de travail fastidieux chaque jour.

Cet outil de diagnostic était un mélange sauvage de scripts shell (bash / sed / awk), Perl, PHP et de jQuery. L'entreprise a décidé de passer à l'automatisation complète des demandes de service. Pour cette raison, j'ai écrit un nouveau cadre en Perl, qui est rapidement devenu un cauchemar pour la maintenance. J'ai donc commencé à rechercher d'autres solutions.

C'était en 2012. Je suis tombé sur Python et j'ai commencé à l'apprendre. Ce fut le coup de foudre: avec son design épuré et élégant (tapez importer ceci dans votre REPL), manque d’accolades et d’autre syntaxe C-like, ça se lit juste comme l’anglais! C’est simple d’apprendre les bases du Python, mais sous les couvertures, il est très polyvalent.

Eric Raymond a écrit un excellent article dans Linux Journal intitulé Pourquoi Python?, qui décrit sa révélation quand il est passé de Perl à Python.

J'ai vécu quelque chose de similaire. Après une réécriture rapide du framework d’automatisation en Python, il est devenu relativement “facile” d’apporter des modifications, et nous l’avons étendue avec de nombreuses nouvelles fonctionnalités intéressantes, le tout sans problèmes majeurs. Bien que je sois passé à un autre rôle, la solution est toujours activement maintenue. Depuis lors, j'ai eu la chance d'utiliser Python pour presque tout mon travail.

Ricky: Vous êtes tous deux les plus célèbres (pour le meilleur ou pour le pire) pour avoir été les cofondateurs de PyBites. Pour ceux qui ne connaissent pas PyBites, de quoi s’agit-il et comment at-il été lancé?

Booléen: PyBites a commencé comme un simple blog pour partager ce que nous apprenions dans l’espace Python. (Nous utilisons un générateur de site statique appelé Pelican.) Nous voulions nous contenter de lire des livres et de regarder des vidéos. La rédaction de billets de blog nous a fait plonger profondément pour nous assurer de communiquer les bons concepts.

Peu de temps après sa création, nous avons commencé à tester certaines idées. L’une consistait à nous lancer un défi, inspiré par le défi café de Noah Kagan. Donc, un jour, Bob a proposé un exercice Python à résoudre d’ici la fin de la semaine.

Nous avons trouvé une page de cours JavaScript avec mm: ss timings par vidéo, mais pas la durée totale. La tâche consistait à parcourir le site et à additionner tous les horodatages de la vidéo, en calculant la durée totale du cours.

À la fin de la semaine (sprint), nous avons comparé nos solutions et examiné nos apprentissages. Nous avons eu ce «moment du Fight Club» (peut-être pas aussi violent…) de «nous devrions le refaire un jour», et c’est ainsi que notre ligne de défis de code de communauté / blog est née.

Nous avons examiné GitHub, mis en place un référentiel de défis pour que nous puissions publier nos défis et nos solutions, puis créé une branche de communauté distincte pour que d'autres personnes lui demandent de travailler.

La traction dont nous avons bénéficié a fait naître l’idée de notre plate-forme de codage: CodeChalleng.es. Il comprend une collection grandissante de près de 200 exercices en python (appelés Bouchées de Py), que vous pouvez coder dans le confort de votre navigateur.

Le fait de relever le défi # 100DaysOfCode, que nous avons activement partagé sur notre blog et sur les médias sociaux, nous a également fait beaucoup de bien. Cela nous a interviewé sur le Parlez Python podcast et, à leur tour, nous ont amenés à produire le cours # 100DaysOfCode in Python avec Michael Kennedy.

Une leçon importante pour nous ici est que vous avez juste besoin de commencer et d’abandonner le perfectionnisme. Beaucoup de choses formidables qui se sont passées ne sont pas prévues mais nous sont parvenues parce que nous avons publié quelque chose qui a suscité de l'intérêt et nous avons agi en fonction des précieux commentaires que nous avons reçus!

Ricky: Julian, vous n’êtes pas programmeur de jour et vous travaillez en tant que technicien de centre de données chez Amazon Web Services. Comment a-t-il appris à coder aux côtés de quelqu'un d'aussi accompli que Bob? Je suppose que cela aiderait d'avoir quelqu'un de plus expérimenté en tant que partenaire commercial? Y a-t-il quelque chose qui vous a surpris ou que vous avez trouvé difficile lorsque vous avez appris à coder?

Julien: L’écart entre Pythonic et Bob a été la pierre angulaire de PyBites. C’est en fait ce que nous avons pensé donner à notre blog avec une touche unique!

À cette fin, c’est un peu un sac mélangé. Lorsque vous codez à côté d'une personne aussi capable que Bob, le premier sentiment est celui de crainte. Vous voyez l’élégance de leur code et leur capacité à résoudre des problèmes sur lesquels vous avez passé des heures, en quelques instants. C’est vraiment une source d’inspiration!

Mais pas toujours. Il devient facile de tomber dans le piège du syndrome de l'imposeur:

  • "Mon code sera-t-il un jour aussi bon?"
  • "Pourquoi est-ce que je dérange?"
  • "Il sera juste toujours meilleur!"

La réalité est qu’il y aura toujours quelqu'un de meilleur en matière de code et de vie en général! J'ai vite compris que, plutôt que de me concentrer sur le manque de compétences, je devrais me concentrer sur mon propre code, être fier de mes réalisations et accepter ce que j'apporte à la table.

Curieusement, et cela s'applique à nous deux, les difficultés rencontrées lors de l'apprentissage et de la gestion du code étaient négligeables. C'est-à-dire que nous l'acceptons et que nous l'aimons. (Je le dis maintenant mais jamais dans l'instant!)

La partie étonnamment difficile a été l'aspect commercial de PyBites! J'ajouterai également que mes jours de non-codeur professionnel risquent de s'achever! (Chut!)

Ricky: Dans tes propres mots, Bob, quand tu ne travailles pas dur pour ton homme, tu adores bricoler et construire des projets pendant ton temps libre. Quel genre de projets avez-vous en route actuellement?

Bob: Actuellement, presque tout mon temps est consacré à la production de contenu de cours et à l'amélioration de notre plateforme en ajoutant plus d'exercices et de fonctionnalités. Avec une utilisation accrue, il y a plus de questions et de retours / demandes, mais j'apprécie chaque minute car cela fournit un excellent moyen d'enseigner à Python et de conseiller d'autres développeurs, ce que j'apprécie vraiment beaucoup.

Je choisis également la spécialisation Coursera Applied Data Science parce que j'aime les données et que je souhaite les intégrer davantage dans mon travail quotidien.

Quand ceci et notre prochain cours (le suspense…) est terminé, mon flux de travail par défaut sera toujours similaire:

  1. Prenons un nouveau concept (module Python, données, technologie Web, opportunité d'automatisation, etc.)
  2. Etudie-le
  3. Construire quelque chose de cool et bloguer / partager le processus

C’est ce qui me passionne et qui ajoute au contenu croissant de PyBites.

C’est en fait quelque chose que je recommande à tout programmeur / dev. Les CV sont un héritage. Commencez à créer votre blog / GitHub / marque afin de disposer d’un portefeuille que vous pourrez montrer. Cela vous permet également de réutiliser ce que vous construisez pour de futurs projets et constitue un excellent moyen de réseauter / collaborer avec d’autres.

Ricky: Il est évident que vous partagiez le gène de l’entreprise. (Il suffit de regarder dans la bibliothèque de Bob pour voir les preuves.) Quelle a été la partie la plus difficile ou la plus difficile pour vous de démarrer votre propre entreprise / débordé (PyBites)? Trouvez-vous que vos talents respectifs se compensent?

Booléen: La partie la plus difficile a été de gérer nos priorités.

Les priorités clés dans nos vies sont très similaires:

  • Famille / enfants
  • Emplois à temps plein
  • Apprentissage
  • PyBites

Au fur et à mesure que PyBites se développe, l'investissement en temps requis augmente également. Nous ne pouvons pas perdre ce temps dans notre travail quotidien ou dans nos familles. C’est donc certainement le plus grand obstacle à essayer de trouver un équilibre acceptable.

La perspective que nous avons adoptée est la suivante: "Si nous avons le temps de regarder Netflix, nous avons également le temps de travailler sur PyBites."

À cette fin, le plus souvent, nous choisissons consciemment de ne pas regarder la télévision, de jouer à des jeux ou de sortir et de faire de cette heure notre heure PyBites. Cela ne semble pas beaucoup, mais après une longue journée de travail et de coucher les enfants, il peut être extrêmement difficile de retrouver les outils nécessaires pour travailler sur PyBites!

Cela dit, nous disons ouvertement à quiconque entendra que nous ne serions pas où nous sommes sans notre soutien mutuel.

Si vous prenez quelque chose d’intéressant, procurez-vous un partenaire responsable. Nous nous tenons mutuellement responsables des articles que nous prenons et nous nous renforçons mutuellement lorsque les choses ne se passent pas exactement comme nous le voudrions.

Nos différents talents se compensent très certainement. Julian a tendance à être davantage un écrivain, un conteur, un spécialiste du marketing, un chef d'entreprise et «une bouche», tandis que Bob approfondit le code, construit et entretient les outils, propose des idées incroyables et soutient techniquement la communauté. Combinez ces deux ensembles de talents et vous obtenez une machine PyBites bien huilée.

La meilleure partie (et s’en tenir à notre conviction fondamentale que vous apprenez par la pratique) est que nous apprenons les uns des autres. Nous nous poussons mutuellement à nous améliorer continuellement, à vivre en dehors des sentiers battus et à toujours essayer quelque chose de nouveau.

Ricky: Maintenant pour mes dernières questions. Que faites-vous de plus pendant votre temps libre? Quels autres loisirs et intérêts avez-vous, mis à part Python et le codage?

Bob: Haha Python et le codage est un gros morceau, mais en dehors de cela, j'aime chaque minute passée avec ma femme et mes deux enfants.

Je tiens également à rester fidèle à une routine de conditionnement physique quotidienne, d’autant plus que notre travail exige beaucoup de temps devant la télé et à l’écran! J'aime lire des livres et consommer des podcasts. Quand je libère plus de temps, l'apprentissage des langues et le dessin sont deux autres choses que j'apprécie vraiment.

Julien: Okay, coupant le codage et le Python, ouf!

Comme Bob, la priorité est de passer du temps avec ma femme et mes deux enfants. Tous ceux qui ont de jeunes enfants sauront que vous n’avez vraiment pas beaucoup de temps après l’épuisement et l’époussetage, de sorte que le temps consacré aux loisirs est limité ces jours-ci.

Quand j'attrape quelques minutes rares non-PyBites, j'aime jouer de la guitare électrique, jouer à des jeux vidéo, lire et bricoler avec mon Raspberry Pi et la domotique.

De plus, étant le papillon social que je suis, j'aime sortir avec des copains et déguster quelques bières. Emmène-moi dans un pub, crie-moi une belle Pilsner et je serai ton meilleur ami!

(Attendez une seconde. Bob vient-il de dire qu'il aime dessiner?)

Ricky Y a-t-il des projets que vous souhaitez partager avec nos lecteurs? Où pouvons-nous en savoir plus sur vous et sur ce que vous faites?

Logo PyBites

Booléen: Outre le blog, notre plate-forme en ligne d’exercices de codage Python est notre joie et notre fierté.

Nous avons également créé le cours # 100DaysOfCode in Python avec Michael Kennedy et sommes devenus formateurs sur le Parlez-moi python plate-forme de formation. Encore une fois, quelque chose dont nous sommes super fiers. (Plus à venir dans cet espace!)

Vous pouvez trouver et suivre julien dans les endroits sombres ci-dessous:

Bob:


Merci Julian et Bob pour une interview divertissante. Si vous n’avez pas vérifié PyBites récemment, je vous encourage à le faire. Si vous avez quelqu'un que vous voudriez que j'interviewe dans le cadre de cette série, laissez un commentaire ci-dessous. Bonne codage!