Dans l'histoire de la communauté de cette semaine, Brian et Jonathan prennent le temps de discuter d'expérience interculturelle, de programmation fonctionnelle et de ce que représentait le fait de passer du Midwest américain à la Scandinavie.
Jonathan : Bonsoir à tous et bienvenue dans le podcast Exercism. J'ai le privilège d'accueillir **Brian **Underwood. Brian, tu vis où en ce moment ? Et raconte-nous un peu ton parcours, comment tu es arrivé là où tu es aujourd'hui. Brian : Ouais, bien sûr. Merci de m'avoir invité. Alors, je suis à Stockholm, en Suède. Mais à l'origine je viens des États-Unis, je suis né dans l'Ohio, donc ça fait un bout de chemin depuis là-bas. Jonathan : Non. Brian : le... je suppose, mon... tu voulais savoir d'où je viens, en fait, mon parcours entre les deux, je suppose. Jonathan : Ouais, tout à fait. Comment tu es passé du centre des États-Unis à... la Suède, la Scandinavie, tu sais, ça fait un sacré saut. Brian : Bien sûr. Ouais. Ouais, bien sûr, c'est, c'est le centre des États-Unis. Je ne t'en veux pas de l'avoir mentionné à la va-vite, genre, personne ne sait vraiment où se trouve l'Ohio. Donc voilà, c'est carrément marrant. Ouais, donc, tu sais, je suis allé à Ohio State pour mes études. Et c'était de l'informatique, de l'éducation. Et c'était sympa. J'ai aimé ça. Et je faisais en quelque sorte... de l'assistance technique, euh, au sein de la faculté des sciences humaines pendant tout mon séjour là-bas. J'ai eu la chance d'y trouver un emploi dès mon arrivée. Et j'ai en quelque sorte continué pendant deux ans après avoir obtenu mon diplôme. euh Mais ensuite je me suis un peu, je crois que je me suis un peu lassé de là où j'en étais et de ce que je faisais, et puis ma copine m'a quitté. Alors, n'en parlons pas, n'en parlons pas. Jonathan : Pas des souvenirs joyeux, on va dire. Brian : Ouais, je veux dire, avec le recul, tout allait bien. Mais bon, c'est un peu comme, ok, j'ai eu l'occasion ici, je pense. Et donc j'ai décidé de passer quelques semaines à voyager en Europe, ce qui était la première fois que je... sortais vraiment des États-Unis pour une période prolongée. Et c'était bien, ce voyage en Europe. Et puis j'ai décidé que, avant de faire ça, j'ai décidé que j'allais déménager. Et je m'étais en quelque sorte fixé sur Boston comme l'endroit où j'allais m'installer. Et j'ai eu, je suppose, je ne sais pas si j'ai eu de la chance d'une certaine manière, mais j'ai eu quelques occasions où, genre, tu sais, j'avais toujours fait de l'assistance Mac, c'était un gros truc que j'avais fait. Donc c'était un des jobs que j'avais en quelque sorte eu l'occasion d'accepter, un poste d'assistance technique Mac à Boston. Et un autre était cette petite start-up qui faisait des logiciels pour, genre, des opérateurs de téléphonie mobile et, genre, comment ils, genre, agençaient leurs produits dans leurs magasins. Et, tu sais, je pense que je voulais vraiment passer à un métier de programmeur. Mais cet autre job, c'était genre, oh, c'est ce que je fais depuis longtemps. Mais je crois que je penchais du côté de, ok, je vais, genre, me lancer dans cette nouvelle vie, cette cette carrière que je veux. Donc, mais je crois que j'ai aussi eu un peu de chance d'obtenir ce job, parce que je pense qu'ils avaient vraiment besoin de quelqu'un. Et donc ils m'ont un peu pris comme ça. Et ça s'est avéré être en quelque sorte un gros poste que j'ai occupé pendant plusieurs années. Euh, mais ouais, et puis c'était un peu comme les débuts. Bref, à partir de là, j'ai rencontré celle qui est maintenant ma femme et on a déménagé à Providence, on s'y est mariés. euh puis on a déménagé en Californie. Je crois que ma femme a trouvé un job à San Francisco. Et j'étais genre, ouais, je peux. Je suis développeur, je peux, je peux le faire, je peux trouver un job à San Francisco. Non, non, pas de souci. Donc c'était génial. On vivait à Oakland et on travaillait à San Francisco pendant deux ans. Mais ensuite on a décidé qu'on voulait voyager pendant deux ans. Et donc on a fini par faire le tour du monde pendant deux ans avec notre, à l'époque, à ce moment-là, on avait un fils de deux ans et demi. Et donc on a voyagé avec lui pendant deux ans. Et puis voilà, on est rentrés aux États-Unis pendant deux, deux ans. Et puis on a un peu décidé, genre, oh, tu sais, on était passés par Stockholm pendant nos voyages. Et on s'est dit, on aime vraiment Stockholm. Alors on s'est dit, ok, on va, on va y retourner. Et voilà, c'est là qu'on est depuis environ quatre ans. Jonathan : Ta femme est suédoise, ou c'est juste que tu aimes Stockholm ? Oh, genre, comment ils... c'est quoi l'histoire ? Brian : Ouais, non, c'est une bonne question. C'est la question que beaucoup de gens posent. Mais non, on est tous les deux américains. Tous les trois, on est américains, mon fils inclus. Même s'il parle bien mieux suédois que nous deux. On y travaille. Mais ouais, non, on a juste vraiment aimé. Je crois qu'il y avait quelques endroits où on était passés et on s'était dit, tiens, peut-être qu'on pourrait vivre ici si on... si on voulait s'installer quelque part. Je crois que l'un d'eux était Auckland, c'était un endroit qu'on avait traversé et on avait vraiment aimé. En Nouvelle-Zélande ? Auckland, en Nouvelle-Zélande, tu veux dire ? La Nouvelle-Zélande, exactement. Mais c'était un peu loin, ça aurait été, si on voulait retourner dans l'Ohio pour voir la famille, ça aurait été un périple. C'est encore un peu un périple depuis la Suède, évidemment. Jonathan : tu Bon, et donc maintenant tu as mentionné, genre, tu as fait un commentaire sur la programmation informatique par rapport à, ou l'informatique, pardon, et la programmation. Genre, quelle était la différence ? Parce que dans ma tête, l'informatique, c'est un peu de la programmation, mais clairement pas. Ou peut-être que oui, je ne sais pas. Donc qu'est-ce que tu voulais dire par là, précisément ? Brian : Ouais. Je ne sais pas si je connais la différence. Je veux dire, j'ai un diplôme d'informatique, et je pense que c'était de la programmation, mais ce n'était pas comme... tu as entendu, ou d'autres ont entendu, qu'on n'apprend pas toujours avec un diplôme universitaire les choses concrètes de la vie réelle qu'on pourrait apprendre et faire dans un job. Et ça a probablement un peu changé depuis que je suis allé à l'université. Je pense qu'il y a probablement eu une évolution vers un enseignement plus pratique. Genre, je me souviens... Tu sais, on apprenait, je crois que le C et Java étaient les deux principaux langages qu'on apprenait à l'époque. Et en particulier, je me souviens qu'on apprenait ce truc en Java, dans un cours, où ils étaient très, c'était, je crois que c'était une méthode d'enseignement ou une façon d'aborder les choses où tu commentais très minutieusement chacune de tes fonctions pour dire, c'était genre, ça s'appelle la conception par contrat, où tu disais, genre, dans quoi ça s'inscrit ? tu sais, dans un contrat légal, tu sais, genre, dis, ok, quelles sont tes responsabilités ? Quelles sont mes responsabilités ? Et donc concevoir une fonction par contrat, ça veut dire, tu sais, ok, si tu me fournis ces valeurs dans les variables, et tu sais, tu ne me donnes jamais de nombre négatif pour celle-ci. Et tu t'assures toujours que cette string n'est jamais vide, ou peu importe, non ? Voilà les choses dont tu es responsable. Et ensuite, si tu fais ça, je promets de, de faire ceci, non, et de faire en sorte que ça se produise. Et donc il y avait cette structure de commentaires, et je me souviens avoir été très perdu, à penser que d'une manière ou d'une autre les commentaires étaient exécutés, et faisaient partie du programme. Et j'étais, tu sais, je crois que j'ai passé deux jours genre, quoi ? qu'est-ce que je suis censé faire ici ? Et j'ai fini par comprendre qu'il s'agissait juste de cette méthode très formelle qui... Et je pense que c'était bien dans un sens, cette façon de penser, ça parfois, ça forme l'esprit. C'est bien de réfléchir au fait qu'une fonction ne doit pas pouvoir gérer chaque chose qui peut arriver, parce que ça ne mènerait qu'à la folie. Jonathan : Donc maintenant, tu es allé à l'université avec l'informatique comme le diplôme principal que tu envisageais. Comment tu as décidé de faire ça ? C'était juste que tu avais une sorte d'attirance naturelle pour les matières plus scientifiques à l'école ou au lycée, ou est-ce qu'il y a eu un moment où tu t'es dit, en fait, ça me correspond vraiment bien ? C'était quoi, le cheminement jusqu'à décider qu'en fait l'informatique était un diplôme que tu voulais faire ? Brian : Ouais, j'ai probablement eu pas mal de chance d'être naturellement attiré par ça, je pense. Je ne sais pas, genre, je me souviens... d'avoir en quelque sorte eu le choix entre des filières à un moment, où je pouvais aller dans la filière arts et sciences, parcours informatique, ou la filière informatique d'ingénierie. Et l'une des deux impliquait de suivre un cours de langue, ou genre, l'espagnol était celle pour laquelle j'étais un peu sur la voie depuis le lycée. Mais l'autre, c'était genre, oh, tu n'as pas besoin de faire de langue étrangère, mais tu dois faire plus de physique et de maths. Et j'étais genre, ok, inscris-moi à ça. Donc je suppose que j'étais un peu, je pense que j'étais attiré par ça. Je pense que c'est genre, même si la chose à laquelle je pense beaucoup, c'est que, et c'est peut-être une sorte de privilège d'intérêt scientifique ou mathématique que j'ai, mais j'ai l'impression que probablement... les maths, faire des maths. Beaucoup de gens sont un peu genre, oh, les maths, genre, je stresse avec les maths ou c'est stressant ou peu importe. Et ça, je comprends que ça peut tout à fait être le cas, mais je me demande si parfois... et les gens, certaines personnes, pour une raison ou une autre, trouvent le plaisir dans les maths et arrivent en quelque sorte à s'y enthousiasmer, et c'est genre, c'est la même quantité de travail pour comprendre les choses, mais ça ne se ressent pas comme ça, parce que quand on s'amuse, on ne ressent pas autant le travail. Ce n'est probablement pas exactement ça, c'est juste une théorie à moi, probablement à moitié juste. Jonathan : Mais c'était marrant parce que, juste, donc je me souviens avoir fait de la chimie pendant trois ans au GCSE au Royaume-Uni, et pendant deux ans, tu as trois ans d'apprentissage jusqu'à tes examens du GCSE, et ensuite tu as ces gros examens à 16 ans et tu couvres tout un éventail de sujets, donc tu fais en gros dix matières différentes, et c'est pas mal. Et ensuite tu décides, ok, je vais faire des A levels, je vais soit faire plus de maths ou de sciences ou peu importe, soit de l'anglais ou du théâtre ou peu importe. Mais je me souviens que la chimie, pour moi, n'a pas fait tilt pendant environ deux ans, et puis, genre, la semaine avant l'examen, tout a pris son sens, genre le tableau périodique et comment tout ça marchait, et oh, je pouvais obtenir toutes les réponses à partir du tableau périodique, il fallait juste que, genre, c'est comme des mots croisés ou peu importe. Et c'était l'ampoule qui s'allume, et je me souviens qu'à partir de ce moment-là je me disais, oh, c'est la matière la plus facile qui soit. Mais il a fallu deux ans de galère pour arriver à ce point, et c'est juste intéressant parce que j'ai l'impression que pour moi, le code, c'est similaire, c'est-à-dire qu'il faut s'y immerger longtemps et puis le déclic se fait, et j'ai hâte du moment où ça donnera l'impression d'aller dans cette direction. Mais je pense que ce que tu décris là, tu sais, j'ai vu des amis qui comprenaient très vite d'emblée et qui aimaient ça, et l'aspect résolution de problèmes était la caractéristique principale de l'apprentissage, ce que je trouve très intéressant. Donc c'est cool que tu aies vécu ça aussi, je suppose. Brian : Je sais qu'il y a cette appli, en fait, à laquelle mon fils a joué sur son iPad. Il y a une entreprise ou une série d'applis qui s'appellent Dragon Box. Je ne sais pas si tu en as déjà entendu parler. Mais ils font de très chouettes applis éducatives. Normalement, je suis assez sceptique vis-à-vis de la plupart des applis éducatives, mais ils en font un certain nombre de vraiment bonnes. Et l'une d'elles porte sur la géométrie. Et j'y pense souvent comme à une métaphore, que ce n'était pas la géométrie, c'était l'algèbre. Il y en a une sur la géométrie aussi. Mais avec celle sur l'algèbre, elle ne t'enseigne pas vraiment les concepts de l'algèbre. Elle t'enseigne la mécanique de l'algèbre. Jonathan : N'oublie pas de liker cette vidéo et de t'abonner à notre chaîne pour plus de vidéos comme celle-ci. Brian : Et elle le fait d'une manière où tu as deux côtés différents avec ces deux boîtes différentes, et tu dois faire en sorte que les choses s'équilibrent sur les deux côtés. Tu déplaces le monstre d'un côté à l'autre, ou tu dois les transformer d'un certain type de monstre à un autre. Ça fait un moment que je ne l'ai pas vue, mais ce dont je me souviens si clairement, c'est qu'il apprenait la mécanique de l'algèbre, même s'il ne comprenait pas vers quoi il travaillait ni pourquoi il faisait ça. Mais c'était amusant de le faire, et ils l'ont fait de cette manière qui rendait la chose vraiment captivante. Et ce que je trouve génial là-dedans, et je veux qu'il refasse l'appli quand il commencera l'algèbre, parce que j'ai l'impression que si tu maîtrises la mécanique, alors tu n'as plus à t'en soucier autant, et tu peux en quelque sorte réfléchir davantage au niveau supérieur sans stresser sur les détails mécaniques. Et je pense que c'est peut-être ce que tu dis à propos de la chimie. Je ne sais pas si c'était comme ça pour toi, mais c'est peut-être genre, pourquoi je devrais m'intéresser à toute cette mécanique, à ces règles, à ces trucs ? Et c'est genre, une fois que tu arrives à un certain point, c'est genre, ok, j'ai en quelque sorte galéré à travers ça. Je peux peut-être m'intéresser à pourquoi je fais ça. Jonathan : Ouais, ouais. Non, c'était une expérience vraiment intéressante, parce que c'était la première fois que je traversais en quelque sorte ce processus de compréhension de quelque chose, et ensuite tu passes en quelque sorte par cette période où tu perds beaucoup de confiance dans ces matières, parce que tu te dis, oh, mon cerveau n'est pas particulièrement câblé pour ce genre de raisonnement. Mais en fait, ensuite, si tu regardes la littérature anglaise, par exemple, ce que j'ai fait, tu passes en fait de manière très systématique à examiner la langue et la façon dont les choses sont structurées, et à comprendre en quelque sorte, mais il y a une nuance, il y a une nature artistique dans tout ça aussi, et on pourrait dire qu'il y a aussi cet élément artistique dans le développement et le code. Chaque personne a sa petite saveur, et je pense que c'est ce dont je me rends compte de plus en plus, c'est qu'il n'y a pas de règle absolue pour quoi que ce soit. C'est juste, ce ne sont que des compromis. Donc non, c'était fascinant. Donc maintenant, tu as, tu as fait, tu nous as aidés sur les cohortes, ce qui, si quelqu'un nous écoute, on a organisé comme des expériences d'apprentissage en Elixir et en Golang, et Brian, tu as en quelque sorte un peu aidé avec la cohorte Elixir. Alors, comment tu t'es mis à Elixir en tant que langage ? Genre, c'était quoi le contexte pour en arriver là ? Brian : Ouais, c'est marrant, parce que quelqu'un me posait exactement cette question aujourd'hui. Parce que c'est un, je veux dire, c'est un langage de niche, tu sais, d'une certaine manière. Mais je suis dans le monde Ruby. Je suis développeur Ruby depuis longtemps. Et j'adore vraiment Ruby, parce que c'est, tu sais, je suis le genre de programmeur qui veut, je veux que les choses avancent, je veux réfléchir à, je veux résoudre des problèmes difficiles. Et c'est difficile de résoudre des problèmes difficiles quand tu penses aux petits détails des choses et que tu dois gérer des pointeurs ou peu importe, non. Donc, Ruby était génial pour ça. Et puis, bien sûr, Joseph Alim, le créateur d'Elixir, est sorti du monde Ruby. Il était déjà prolifique dans le monde Ruby et a décidé qu'il avait besoin, pas besoin, peut-être qu'il est incroyable, il allait créer son propre langage et être prolifique dedans, et il a fait un travail incroyable pour ça. Donc j'ai en quelque sorte, tu sais, j'ai juste été accroché à ce monde où, tu sais, j'écoutais des podcasts où ils parlaient parfois de Ruby, mais ensuite il y avait genre, oh, ce nouveau truc, Elixir. Et puis je pense que peut-être un petit basculement, enfin, un truc assez fondamental, c'était, je vivais à, en fait je venais de retourner à Columbus pendant un moment, Columbus, dans l'Ohio, et Joseph Aleem est venu au groupe Ruby de Columbus, la Columbus Ruby Brigade. Et ils étaient genre, tu sais, c'est vraiment sympa que Joseph Aleem vienne juste parler de ce dont il veut parler. Et bien sûr, il a dit, oui, je vais parler d'Elixir parce que j'ai créé ce langage. Je suis vraiment enthousiaste à ce sujet. Ouais. Ouais, exactement. Et je me souviens de ça. C'est tellement drôle, genre il y a un an, j'ai trouvé un enregistrement de cette présentation. Et c'est un peu granuleux. Mais tu peux encore le regarder. Et je peux encore trouver l'endroit où je pose une question à Joseph. Et genre, je me souviens d'avoir eu cette confusion sur comment exactement. Jonathan : Je suis vraiment enthousiaste à ce sujet. Brian : les, ces concepts genre, tu crées ces processus et ils peuvent se remettre d'une défaillance, si tu as des superviseurs et tout ça. Et je ne me souviens pas exactement de ce qu'il a dit, mais j'étais un peu genre, comment ça marche ? Et genre, ok, tu récupères après des erreurs. Mais est-ce que, genre, est-ce que tu apprends quand même quelque chose de ces erreurs ? Ou genre, que se passe-t-il ? Et je, c'est, ça a été tout un processus pour, genre, apprendre ce que ça veut dire. Et je pense que c'est un processus vraiment intéressant. Je pense qu'à l'époque, beaucoup dans la communauté Elixir avaient du mal à, genre, décrire ces concepts. Et je pense qu'il y a plus d'articles de blog et de plus en plus de choses pour que les gens assimilent et arrivent plus vite. Donc, bref, c'est un peu l'endroit d'où je viens. Je pense que c'était l'un des grands endroits. C'est juste genre, oh, ça a l'air intéressant. Et si Jose dit que c'est cool, alors je devrais aller voir. Jonathan : Donc c'était presque comme si le timing était bon pour que tu t'y mettes ? C'était juste que beaucoup de choses différentes s'alignaient et faisaient sens pour toi. Avais-tu exploré d'autres langages ? Genre, je veux dire, tu as mentionné les pointeurs. Et c'est une référence à Go spécifiquement, ou c'était plutôt que tu étais juste en quête d'un langage qui te convenait, on va dire ? Brian : Je pense que je... Ouais, je veux dire, je... je suis vraiment à fond dans l'idée que des choses différentes sont bonnes pour des usages différents. Et je suis, tu sais, je suis à fond dans Elixir maintenant. J'ai l'impression d'être probablement un peu biaisé, genre, ouais, Elixir peut servir à à peu près n'importe quoi. Ce n'est probablement pas tout à fait vrai. Mais je pense que le truc des pointeurs, je pense que j'avais juste le C en tête, je pense, tu sais, on a fait un peu de C, de C++ à l'université. Je crois. Tu sais, ouais, donc genre, pendant plusieurs années, j'ai travaillé avec Neo4j, la base de données de graphes. Et c'était un truc dans lequel j'étais super à fond. Et j'étais l'un des mainteneurs des gems Neo4j pour Ruby. Parce que c'était ce
On n'a pas besoin d'entrer trop dans les détails, mais les bases de données de graphes peuvent te permettre de faire certaines choses plus vite, ou simplement, d'une certaine manière, plus facilement. C'était un peu, pour moi c'était ce, c'était un, ce n'est pas que beaucoup de gens utilisent Neo4j pour ça, mais j'ai l'impression que c'était un peu comme Ruby, en ce que ça t'aidait à penser les choses à un niveau plus élevé. Et donc ça te permettait de faire les choses plus élégamment. Mais je suis juste à fond dans cette idée, genre, ok, les bases de données de graphes pourraient être bonnes pour tel usage, et puis une base de données relationnelle pour tel autre, et une base de données documentaire pour tel autre. Et ok, eh bien, si j'ai besoin de faire un petit service qui doit tourner super vite, peut-être que je le ferais en Rust ou en Go ou peu importe. Et donc je devrais connaître ces langages, et si je, les trucs de plus haut niveau, il y a Ruby et Python, mais maintenant il y a Elixir, et Elixir est, et il a en fait beaucoup de grands avantages. C'est super dur de déterminer ce qui est bon pour quoi, parce qu'il y a tellement de choses en jeu dans un langage, par exemple, que déterminer s'il est bon pour quelque chose est difficile. Et aussi, les gens, moi y compris, je pense, s'investissent émotionnellement dans certains langages qu'ils aiment pour une raison ou une autre. Et donc c'est genre, bon, c'est dur. Mm-hmm.
Jonathan : Et Brian, tu utilises Elixir au quotidien dans ton travail ? Et c'est quoi ton travail pour le moment ? Genre, à quoi ça ressemble, le quotidien, à ce stade ?
Brian : Ouais, donc je suis consultant chez Erlang Solutions. Et donc je travaille avec un client d'Erlang Solutions, qui est une entreprise appelée VicAI. Je ne sais pas si tu en as entendu parler. Je crois que Lars Wirthven, je crois, les a un peu aidés et a écrit un peu à leur sujet sur son blog. C'est une personne en quelque sorte semi-célèbre dans le monde d'Elixir. Et ouais, donc c'est une entreprise qui... aide d'autres entreprises, ils ont, ils font une application qui aide les entreprises à traiter des factures, de manière semi ou totalement automatique en utilisant l'intelligence artificielle. Ok. Et donc ouais, voilà, et donc ils ont, tu sais, bien sûr, des modèles de machine learning, mais ensuite ils ont une API Elixir qui leur permet en quelque sorte de coordonner pas mal de choses.
Jonathan : Ok. Et donc tu traites avec beaucoup de clients différents dans la journée, ou c'est plutôt que tu travailles avec un groupe spécialisé que tu accompagnes et avec lequel tu t'associes ? Genre, comment tout ça fonctionne ?
Brian : Ouais, donc je suis généralement dans une sorte d'équipe de fonctionnalité avec un product manager, et on a un développeur web et un développeur mobile, et parfois un développeur back-end, l'équipe de machine learning. Et puis c'est sympa, parfois on a genre une personne produit ou QA qui va faire l'interface avec nos clients pour nous aider à obtenir en quelque sorte les infos les plus pertinentes, les plus nécessaires, genre, tu sais, de quoi les utilisateurs et les clients ont réellement besoin. Mais c'est un peu comme des couches, genre, on, tu sais, selon de quoi il s'agit, genre, on a, on a un gros client direct, et puis on a des, genre, des systèmes comptables, des ERP avec lesquels on travaille, et ils ont des gens qui, tu sais, saisissent leurs clients, honnêtement je ne travaille pas beaucoup avec ça, genre avec le côté client autant. Mais c'est, je pense qu'on a beaucoup de façons différentes de faire l'interface avec, avec les clients, et on doit en quelque sorte faire beaucoup de danses différentes pour intégrer, ce qui est, ce qui est un problème intéressant en soi.
Jonathan : Donc la semaine est assez variée et tu fais beaucoup de choses différentes pendant la semaine, ou c'est assez prévisible ?
Brian : Euh, ouais, je pense que c'est, tu sais, je pense que j'ai pas mal de chance en ce que je, euh... je fais généralement, je veux dire, il y a, il y a généralement un projet sur lequel je travaille. Mais genre, par exemple, un truc dont je pense pouvoir parler, récemment, je travaillais justement à m'assurer que nos calculs de retour étaient, étaient corrects dans notre façon de traiter les factures. Parce que ça peut être un truc délicat, juste de gérer ça. Surtout quand tu as des factures qui arrivent d'un tas de fournisseurs différents qui peuvent être, tu sais, qui peuvent faire les choses différemment les uns des autres. Et donc, mais j'ai pas mal de chance en ce qu'ils, ils aiment s'assurer qu'on maîtrise un peu notre... la qualité de notre code et, et en général, juste qu'on maîtrise les choses. Et donc on, on essaie de passer un temps raisonnable à faire, à faire des choses pour améliorer les choses, améliorer notre code ou faire progresser les choses. Et donc, tu sais, je, c'est aussi un peu comme ça que je suis. C'est genre, j'essaie généralement de m'octroyer au moins une partie de mon temps pour, genre, tu sais, on fait beaucoup d'intégration avec Datadog pour l'application, pour s'assurer qu'on puisse avoir du traçage pour nos requêtes et nos tâches en arrière-plan et tout ce genre de choses. Et c'est un truc qui me réjouit vraiment, de pouvoir, genre, une fois que je l'ai fait, genre, ok, maintenant j'ai les outils dont j'ai besoin pour faire mon travail. Mais ouais, genre, genre, aussi, je pense que tout récemment, il y a un truc qui, qui m'a intéressé, genre une sorte de façon d'organiser le code et de référencer d'autres modules. Et il y a un outil dans le monde d'Elixir, Club, Credo, qui te permet en quelque sorte d'imposer différentes règles dans ton style de code. Et donc j'ai créé une nouvelle règle Credo pour potentiellement imposer cette règle. Et donc je suis assez curieux de voir comment ça se passe.
Jonathan : Ok, cool. Ça a l'air, pour être honnête, de me passer un peu au-dessus de la tête, mais en partie, je suis sûr que quelqu'un là-bas saura de quoi il s'agit. Mais tu as mentionné plus tôt que tu avais en quelque sorte un peu travaillé pour une start-up, je crois que je ne me trompe pas. Donc tu avais ce côté assistance technique, et il y avait aussi un peu une histoire de start-up. Est-ce que c'est quelque chose qui t'intéresserait à l'avenir, ou est-ce que c'est quelque chose qui est toujours dans un coin de ta tête ? C'est quoi, la trajectoire pour toi, tu penses, dans les cinq, dix prochaines années en matière de programmation ? Je veux dire, tu ne le sais peut-être pas, mais je me disais juste que c'était assez intéressant de demander aux gens, où est-ce que tu te vois dans cinq ans, cinq, dix ans ?
Brian : Ouais, c'est une bonne question. Je veux dire, j'ai un peu... En ce qui concerne les start-up, j'ai toujours navigué entre des petites et des moyennes entreprises.
Jonathan : Merci.
Brian : aussi à l'aise dans de très grandes entreprises. Et je ne me suis jamais vraiment vu comme consultant jusqu'à récemment, où j'étais un peu genre, ok, c'est un peu genre... intéressant de pouvoir, genre... aller dans différentes entreprises et peut-être essayer de les aider à résoudre leurs problèmes, mais ensuite peut-être passer à une autre entreprise. Je veux dire, si quelqu'un de Big Gag m'écoute, je ne suis pas malheureux.
Jonathan : Je me disais, je ne pense pas que je devrais demander ça à quelqu'un dans un podcast, mais ouais, juste, évidemment, en supposant que tout va bien. Désolé, mon chat est en train de griffer la porte là.
Brian : Oh ouais, ouais, je viens d'avoir un, on vient d'avoir un chiot il y a environ un mois, et donc je dois constamment, genre, elle aboie ou elle est, tu sais, peut-être une fois ou deux, genre, elle fait pipi sur le lit, et c'est genre, je dois gérer ça.
Jonathan : Donc on vient d'avoir, c'est fou. 5 h du matin tous les matins. 4 h 30 du matin, elle saute en quelque sorte sur le lit et commence à, genre, me tapoter le visage. C'est mignon et adorable. Mais ouais, au bout d'un moment, c'est genre, allez quoi. Mais bon, revenons à tout ce truc des deux prochaines années, qu'est-ce que tu aimerais pouvoir faire ou réaliser ?
Brian : Ouais, c'est une bonne question. Je pense que je suis à fond dans l'idée de comprendre... Je pense qu'une des choses qui m'attirent peut-être chez Elixir, c'est qu'il est encore un peu frais. Et donc j'aime... genre, quelles sont les façons d'ouvrir en quelque sorte de nouveaux chemins et de trouver de nouveaux motifs. Et surtout, genre, tu sais, ce n'est pas juste genre, tu sais, j'étais dans le monde Ruby pendant un moment, et donc en arrivant dans Elixir, parfois il y a des trucs genre, oh, ça me manquait de Ruby, donc ce serait génial de genre construire ça ou faire ça. Mais il y a aussi juste des trucs genre, tu sais, oh, c'est quelque chose que je ne pouvais pas très bien faire en Ruby. Mais si je fais juste ça, alors, tu sais, on pourrait, ce serait encore plus génial en tirant parti des forces d'Elixir. Donc je pense que c'est le genre de trucs qui m'intéressent, genre trouver, trouver les cas d'usage élégants et en parler, les partager, parce que c'est aussi un truc qui, un truc qui m'inspire toujours, genre quand je lis, surtout quand je, genre, lis quelque chose à propos d'un, d'un vrai cas d'usage et que j'en vois les détails, pas juste genre, ouais, on a fait ce truc et on a un peu, voilà comment on s'y est pris. C'est genre, mais où est-ce que je peux voir du code, ou genre, quels sont les détails ? Ouais.
Jonathan : On dirait que tu aimes le côté optimisation des choses, genre prendre quelque chose et ouvrir la voie à une nouvelle façon de rendre quelque chose meilleur et plus efficace. C'est ce que j'entends, en tout cas. C'est juste, tu penses ?
Brian : tu Ouais, je pense, et je pense que l'efficacité, c'est bien. Mais je pense que je dirais peut-être encore plus trouver des façons de rendre les choses agréables. Je suis super à fond dans l'idée de comment on peut résoudre les problèmes pour ne plus avoir à les gérer. Genre, faire des bibliothèques pour qu'on puisse se dire, ok, maintenant ce problème, ouais, ce problème est résolu, passons à autre chose qui, tu sais, est-ce une meilleure utilisation de notre temps, non ?
Jonathan : Non, bien sûr. Ça a du sens. Donc une des choses que j'aime demander aux gens, surtout dans tout ce, parce que je suis assez, je dirais que je suis assez nouveau dans la tech en tant qu'industrie dans son ensemble, et je ne viens pas d'un milieu particulièrement expérimenté en termes de développement depuis le plus jeune âge, etc., etc. Et une des choses qui m'a souvent marqué, c'est, et tu entends beaucoup ça chez les amis qui sont dans la tech, c'est qu'il y a pas mal d'opinions qui circulent, ce qui semble assez, assez vrai. Mais on a cette question qu'on aime poser aux gens qui viennent dans notre podcast, qui est, quelle est la colline sur laquelle tu serais prêt à mourir dans la tech ? Et évidemment, en la formulant de manière un peu légère. Mais est-ce qu'il y a un état d'esprit ou une opinion particulière que tu as et pour laquelle tu te dis, c'est la colline que je défendrais ? Et ça peut être n'importe quoi. Donc un bon exemple serait genre DJ, qui est l'un de nos mainteneurs, tu le connais peut-être, sa colline était le rôle de la conversation vraiment essentielle, genre avoir une conversation bien intentionnée et bonne, bien structurée, dans le domaine de la tech. Donc avoir cette interrogation robuste, tu sais, exigeante, qui est en quelque sorte bâtie sur les bonnes fondations, on va dire. J'essaie de me rappeler ce que quelqu'un d'autre a dit. Rebecca, chez Unison, disait qu'elle préférerait avoir 50 personnes dans une équipe qui travaillent dur, consciencieuses, et peut-être moins talentueuses, plutôt qu'un génie avec qui il est infernal de collaborer. Donc, espérons que ce sont de bons exemples. Et je t'ai un peu jeté sous le bus là avec cette question sortie de nulle part, parce qu'il y a probablement pas mal de points de vue que tu pourrais avoir. Mais est-ce qu'il y en a un pour lequel tu dirais, non, c'est là-dessus que je suis prêt à tenir bon ?
Brian : Hmm. Ouais. Ouais, parce que ma première pensée était un peu genre, oh, genre camelCase contre snake_case. Bon, je ne sais pas si je mourrais sur cette colline ou pas. Je pense que beaucoup de ces choses, genre
Jonathan : Je ne pourrais pas...
Brian : Ouais, ouais, mais beaucoup de ces choses, je pense que je... je suis peut-être devenu moins catégorique avec le temps. Mais ouais, j'aime ces trucs de plus haut niveau dont tu parles. J'ai l'impression que je pourrais, j'aime bien. Voyons si j'arrive à le retrouver. Malheureusement, tu montes ça, donc mes pauses vont juste disparaître, non ?
Jonathan : C'est le plan, en tout cas.
Brian : Ouais. Donc il y a un outil qui s'appelle Remote Retro. Que j'ai utilisé plusieurs fois et que je recommande vraiment chaudement. Et j'en ai entendu parler parce qu'il est écrit en Elixir. Mais à part ça, je pense qu'il est juste bien conçu. Et avec le temps, il est devenu un outil de mieux en mieux. Mais il commence toujours par une directive primordiale, qui, je pense, était, comme je le regarde maintenant, je vois qu'elle a été reprise de Norm Keith. Il y a une page wiki ici, donc tu peux chercher. Tu peux aller sur remote-retro.org si tu veux vérifier. Mais... voilà, la directive primordiale, qui je pense est juste, c'est en quelque sorte le truc qu'on lit au début d'une rétrospective pour mettre les gens dans le bon état d'esprit, qui dit, quoi que nous découvrions, nous comprenons et croyons vraiment que chacun a fait de son mieux, compte tenu de ce qu'il savait à l'époque, de ses compétences et capacités, des ressources disponibles et de la situation du moment. Euh, donc je pense que c'est bien. Je pense que c'est similaire, genre... Tu dois t'assurer d'être toujours... Genre, et en fait, je vais même dire une chose de plus. Il y avait une interview et je peux, je peux la partager si tu veux, genre, mettre le lien dans la description de l'émission ou peu importe, plus tard.
Jonathan : je m'y référerai, c'est sûr.
Brian : Ouais, je recommande toujours cet article, même s'il est toujours super dur à trouver et je ne sais pas, il est probablement un peu tombé dans l'oubli maintenant, mais il y avait ce... cet homme qui était administrateur de la Veterans Association aux États-Unis, le service gouvernemental. Et spécifiquement, je crois qu'il s'occupait de leur système de santé. Et il avait cette interview où il venait du monde de l'aérospatiale. Et beaucoup de ce dont il parlait, c'était... comment dans l'aérospatiale, dans beaucoup de, probablement ce n'est pas parfait partout, mais dans beaucoup de ce qu'il a vécu. Tu blâmerais le processus, tu ne blâmes pas les gens. Et si quelque chose va mal, tu dis, tu sais, ok, tu sais, ce n'est pas, tu sais, genre, j'ai, j'ai supprimé une table en production. Mais heureusement, personne ne m'en a blâmé. Ils étaient genre, ok, qu'est-ce qu'on fait maintenant ? Eh bien, on fait en sorte que quand tu passes en production sur la console, ça s'affiche, le prompt est rouge. Et donc c'est clair que tu es en production, non ? Parce que j'ai fait cette erreur, parce que je pensais que c'était le développement quand j'étais. Ouais, voilà. Donc voilà, j'ai eu la chance d'avoir un bureau où on blâmait le processus et non pas la personne. Et donc c'était vraiment génial. Et donc il parlait de ça dans le contexte de, genre, la médecine, c'était genre, ok, parfois, peut-être qu'une infirmière pourrait donner le mauvais médicament à un patient. C'est genre, bon, parfois les étiquettes sont confuses, ou il y a ce truc qui est genre, c'est dur, ou c'est juste peu importe, ce n'est pas idéal. C'est genre, ok, allons, corrigeons ça. Faisons-le. Donc si on veut, si on se soucie vraiment du patient, faisons-en un processus où il est plus difficile de se tromper. Donc c'est un truc qui, je pense, compte beaucoup pour moi.
Jonathan : C'est vraiment cool. Je vais absolument mettre ces notes d'émission. Est-ce que ça vient du genre agile, est-ce que c'est en quelque sorte bâti sur la méthodologie agile, on va dire ? Ou est-ce que c'est un peu autre chose ? Quel serait ton avis là-dessus ?
Brian : Tu sais, c'est une bonne question, je pense. J'ai eu l'impression que ça faisait partie d'une tradition assez longue dans certains cercles d'ingénierie aérospatiale. Je veux dire, l'aérospatiale, je pense que c'est peut-être juste lié au fait que, genre, si tu as, si tu fabriques des avions ou si tu fabriques des fusées. Tu es dans le métier où, genre, ça doit marcher. Et quand on y met un humain, que ce soit un astronaute ou un passager, on doit lui donner la meilleure chance que ça marche. Et la meilleure façon de faire ça, c'est de mettre notre ego de côté et de dire, tu sais, quoi ?
Jonathan : tu
Brian : qu'est-ce qui va faire que ça marche le plus possible à chaque fois si on suit juste le processus. Je pense que ça en fait partie, ouais.
Jonathan : Parce que quand je cherchais remote retro, ça ressemblait beaucoup à, genre, de la terminologie agile. Donc je me demande si ça a peut-être été un peu modifié à partir de là, quelque part. Mais c'est vraiment cool. Je n'avais jamais entendu ça. Celui que j'ai entendu, c'est à propos des checklists, surtout en médecine et en aérospatiale. Donc c'est genre, un pilote va passer en revue une checklist. Il ne s'en écarte pas. Et un médecin fera pareil. C'est vraiment cool. Brian, on va commencer notre descente. J'ai encore une question pour toi ce soir. Et c'est vraiment, quelle est ta recommandation pour la communauté Exercism la semaine prochaine ? Si tu pouvais donner un seul conseil, et ça pourrait porter sur n'importe quoi. Ça pourrait être genre, va boire du kombucha chez, je ne sais pas, ton épicier du coin, ou va courir et nager dans l'océan Arctique ou peu importe. S'il y avait une chose que tu recommanderais à la communauté Exercism d'essayer, ce serait quoi cette semaine ?
Brian : Merci ! Hmm. Euh, je dirais... que, euh, je veux dire, dans, dans tes, euh, tu sais, tes capacités, parce que peut-être que ce n'est, tu sais, pas, c'est toujours dur de donner un conseil à tout le monde. Mais je pense qu'une chose qui a beaucoup compté pour moi, c'est, je crois qu'une fois je suis allé aux urgences parce que j'avais soudainement mal à la tête. Et il y avait peut-être une inquiétude que ce soit genre une céphalée en coup de tonnerre, ce qui peut être une chose assez grave. Donc, donc je suis allé et j'ai fait examiner par le médecin et tout allait bien là-bas. Mais tu sais, le médecin posait juste des questions générales et disait en quelque sorte, genre, ok, combien d'exercice fais-tu ? Et, tu sais, quelle est ton activité et peu importe. Et, et j'étais genre, tu sais, en bon Américain, j'étais un peu genre, bon, je, tu sais, je marche pas mal, je fais peut-être 8 000 pas par semaine, par mois, ou en moyenne par jour. Et il a dit, tu sais, tu devrais, tu devrais sortir trois fois par semaine, pendant 45 minutes, genre pour vraiment transpirer. Et, tu sais, je ne l'ai pas fait tout de suite. Mais, tu sais, c'était, après peut-être cinq ou six mois, j'ai fini par prendre un rythme, une habitude de courir, généralement trois fois par semaine, parfois c'était deux fois par semaine, mais tu sais, et je pense que ça a été en quelque sorte un grand changement dans ma vie. Je pense que ça m'a beaucoup aidé. Donc je pense, je sais que c'est un truc super dur à faire et c'est super dur pour moi de m'y mettre. Et je pense qu'une partie de la façon dont je l'ai fait, c'est que je me suis dit, ok, je vais sortir et si je finis par marcher 75 % du temps, alors ok, c'est comme ça que ça va être. Je vais juste construire petit à petit.
Jonathan : C'est cool. Je pense que c'était intéressant que tu mentionnes ça parce qu'on...
Brian : Je pense que c'était intéressant que tu mentionnes ça parce qu'on...
Jonathan : Non, c'est vraiment cool, parce qu'une des choses qu'on a essayé de réfléchir avec les cohortes, c'était qu'est-ce qui va faciliter le fait que les gens grandissent, apprennent et en quelque sorte avancent et prennent de l'élan, je suppose, dans leur parcours de code, on va dire. Et l'une d'elles, c'était juste de sortir, même si c'était pour 10 minutes par jour, juste pour se mettre dans la position d'essayer. Et même si tu n'avances pas vraiment, même si tu lis juste les instructions et puis c'est tout pour la journée, tant que tu te présentes d'une manière ou d'une autre, ça fait en quelque sorte une grande différence. Mais je pense que c'est une super recommandation, et ça me rappelle vraiment d'aller faire un peu de sport, juste parce que c'est tellement sédentaire parfois, de rester assis à l'intérieur. Donc si quelqu'un nous écoute, suis le conseil de Brian et va courir. Mais je veux dire, il va commencer à faire un peu plus frais à Stockholm dans les prochaines semaines. Tu cours encore en plein hiver ou c'est plutôt de la course en salle ?
Brian : Ouais, oui. Et je veux dire, je dirais aussi, genre, tu sais, le meilleur exercice que tu peux faire, si tu vas sortir pendant 30, 40 minutes par jour trois fois par semaine ou quelque chose comme ça, c'est genre, peu importe, peu importe ce que tu aimes le plus, tu sais, parce que si tu n'aimes pas courir, alors tu ne vas probablement pas pouvoir tenir ça. Donc tu sais, je dirai ça d'abord, mais mais ouais, l'hiver, tu sais, j'ai un bonnet, qui est genre, il fait sombre à Stockholm aussi. Donc ma femme m'a offert un bonnet qui a des fibres intégrées qui sont rétroréfléchissantes. Ok, donc c'est, c'est bien. Comme ça, ça peut me garder en sécurité. Et puis j'ai un masque pour le visage et des trucs pour les oreilles que je peux mettre. Ouais, et puis ouais, donc je dois vraiment me couvrir, mais ça peut être bien aussi parce que ça garde, quand il fait froid, tu sais, je peux, je peux rester plus bas et je peux quand même le faire. Ouais, exactement. Exactement.
Jonathan : Oh, c'est brillant. Mais Brian, je voulais juste te dire un immense merci pour ton temps ce soir, et ça a probablement été une longue journée, avec les enfants, le travail, le nouveau chiot et tout ce genre de choses, donc je voulais juste te dire merci pour ton temps et de l'avoir partagé avec nous, et pour toi qui nous écoutes, on mettra les notes d'émission dans la description ci-dessous pour que tu puisses aller voir tout ça. Si tu en as l'occasion et que tu écoutes ça, va jeter un œil au parcours Elixir, et je suis sûr que **Brian **je ne sais pas si tu fais du mentorat sur le parcours Elixir, mais peut-être que si tu es dans le monde du mentorat un jour, tu verras peut-être de nouvelles personnes débarquer et tester des choses. J'ai entendu beaucoup de bonnes choses sur Elixir, donc je pense que c'est vraiment un parcours à surveiller pour l'avenir, et ouais, passe une merveilleuse soirée Brian. Attends juste un petit peu quand j'arrête l'enregistrement, mais ouais, c'était génial de t'avoir avec nous et merci d'avoir partagé un petit aperçu de la vie de Brian Underwood, et ouais, merci à tous d'avoir écouté et passe une merveilleuse soirée. À bientôt.
Écoute, apprends et laisse-toi inspirer par les membres de notre communauté.