«Personne ne dit aux autres ce qu'ils doivent faire»: Nicolò Ribaudo sur le développement de Babel et plus



Nicolò Ribaudo est l'un des principaux développeurs de Babel, un expert TC39 invité et également un étudiant en mathématiques.

Nicolò se produira demain au HolyJS 2019 Moscou. Et en prévision de cela, les membres du comité du programme HolyJS Yevgeny Kot ( bunopus ) et Dmitry Makhnev ( DmitryMakhnev ) lui ont parlé du développement de Babel, des tâches d'un expert invité, des études, du prochain rapport sur HolyJS ... et de la façon de réussir à dormir suffisamment.

Eugene: Commençons par une question simple. Pouvez-vous me parler un peu de vous, que faites-vous?

Nicolò: Je travaille sur Babel depuis deux ans maintenant. J'étudie les mathématiques, maintenant dans ma deuxième année à l'université. La programmation et l'apprentissage prennent la plupart de mon temps; Je programme depuis dix ans et JavaScript est ma langue préférée. Je pense que j'ai commencé à contribuer à l'open source précisément à cause de JavaScript, cela s'est produit il y a quelques années.

Eugene: Maintenant, vous travaillez dans l'équipe principale de Babel, et c'est impressionnant: après tout, la plupart des produits écrits en JavaScript utilisent Babel tous les jours. Comment êtes-vous entré dans l'équipe?

Nicolò: J'ai commencé à y contribuer parce que je l'ai utilisé moi-même et que je voulais faire quelque chose pour la communauté. Quand je suis apparu pour la première fois dans la communauté open source, j'ai d'abord contribué à d'autres projets, puis j'ai découvert Babel et il m'a intéressé. En fait, il y avait une autre raison, un peu égoïste: je voulais devenir célèbre! Je voulais travailler sur quelque chose que beaucoup de gens connaissent. Mais ensuite j'ai réalisé la vraie raison pour laquelle les gens travaillent sur l'open source, et j'ai juste continué à travailler parce que j'aimais ça.

Eugene: Mais pourquoi exactement Babel? Il existe de nombreux projets open source dans le monde.

Nicolò: Avant Babel, je passais en contrebande dans JSHint, j'aime ça aussi. Là, j'ai beaucoup appris sur les analyseurs. C'est pourquoi j'ai rencontré Babel. Au début, je n'ai pas fait de transformateur, mais un analyseur. De plus, je connaissais déjà ce projet et j'ai réussi à l'essayer dans mes projets personnels, et donc traiter avec Babel me semblait une bonne idée.

Eugene: Maintenant, vous étudiez les mathématiques, et c'est quelque chose d'assez compliqué. L'open source n'est pas non plus facile à écrire. Comment parvenez-vous à combiner toutes ces choses en même temps? Avez-vous 30 heures par jour?

Nicolò: L'année dernière, c'était si difficile, j'ai étudié 20 heures par semaine et j'ai eu beaucoup de temps libre. Maintenant, c'est plus difficile, car vous devez étudier pendant 30 heures. Et je veux travailler sur des projets open source pendant au moins 20 heures par semaine. Il est nécessaire de le faire le soir et la nuit, ou le week-end.

Eugene: Tu dors même?

Nicolò: Après le déjeuner, je travaille peut-être trois ou quatre heures. J'essaie de ne pas recycler. Mais parfois c'est difficile: lorsque vous résolvez une tâche difficile et êtes passionné par le processus, vous devez vous forcer à vous arrêter et à vous endormir pour ne pas vous endormir le lendemain.

Eugene: Est-ce en quelque sorte réglementé par Babel? Je veux dire, y a-t-il une sorte d'arriéré ou pouvez-vous faire quelque chose qui vous vient à l'esprit? Comment ça marche?

Nicolò: Nous n'avons pas d'organisation de processus stricte. Bien sûr, nous dessinons des feuilles de route, mais en gros, nous décidons quoi faire. Par exemple, nous sélectionnons des tâches pour la prochaine version, puis tout le monde peut travailler sur n'importe laquelle d'entre elles.

Eugene: Il y a toujours des tâches sympas et quelque chose de fastidieux que personne ne veut faire. Comment le combiner? Avez-vous un chef de produit, je ne sais pas, qui vous dira quoi faire la semaine ou le mois prochain?

Nicolò: Nous organisons des rassemblements toutes les deux semaines, et pendant ces rassemblements, s'il y a des tâches inintéressantes, nous décidons généralement ensemble de ce que nous devons en faire. Par exemple, l'une des tâches les plus ennuyeuses consiste à résoudre les bogues: nous avons environ 700 tickets ouverts et beaucoup d'entre eux ne sont plus pertinents. Peut-être qu'ils ont déjà été réparés ailleurs, ou le problème était dans la configuration d'un utilisateur spécifique. Quoi qu'il en soit, nous essayons de les trier une fois par mois ou une fois toutes les deux semaines. Mais personne ne dit aux autres ce qu'ils doivent faire: nous le prenons sur nous.

Dmitry: Travaillerez-vous sur Babel à plein temps après l'obtention de votre diplôme?

Nicolò: Nous essayons maintenant de comprendre si l'Open Collective nous apporte suffisamment d'argent pour que cette année quelqu'un de l'équipe puisse commencer à travailler sur Babel à temps partiel pour le paiement. Puisque nous consacrons beaucoup de temps au projet, ce serait formidable de le considérer comme un «vrai» travail. Mais même si vous ne pouvez pas transformer Babel en un tel travail, après l’université, je voudrais quand même travailler sur des projets open source.

Eugene: Je ne connais pas ce schéma, avec Open Collective ... Avez-vous des dons et de l'argent qui s'accumulent, et comment l'équipe décide-t-elle qui travaillera à plein temps?

Nicolò: C'est un sujet complexe, et nous en discutons généralement pendant des heures, parfois en vain. À l'heure actuelle, Henry est la seule personne qui travaille à temps plein. Parce qu'il a eu la première occasion et parce qu'il a été le mainteneur le plus longtemps. Mais maintenant, nous essayons de comprendre s'il y a encore des gens dans l'équipe qui veulent et peuvent travailler sur Babel.

Une tentative de transformer un tel projet financé par la communauté en travail est lourde de complexité. Si vous travaillez dans une entreprise régulière, vous avez toujours le même salaire et vous êtes assuré de le recevoir. Mais nous dépendons des dons, et il s'avère qu'il est difficile de prendre des décisions de vie importantes quand il y a toujours un risque. Par conséquent, il est assez difficile de trouver des personnes qui souhaitent y travailler à temps plein ou même à temps partiel, et en qui nous avons confiance. Il n'y a donc pas de compétition dans l'équipe à cet égard. Le principal problème est de trouver de l'argent pour ceux qui veulent encore faire ce genre de travail.

Eugene: Eh bien, vous avez collecté de l'argent dans l'Open Collective, vous avez compris qui travaillera à plein temps, mais quel sera le salaire? Qui décide?

Nicolò: Nous ne savons pas encore. Ceci est difficile à déterminer car nous devons comprendre combien nous devons payer ensemble. Et elle ne veut pas garder une trace du temps, donc le taux horaire ne convient pas. Vous pouvez, bien sûr, payer pour le résultat, mais alors que faire avec un jeu long ou des tâches fastidieuses qui ne donnent pas un résultat instantanément clairement visible? Par exemple, trier des bogues ou aider les gens de Slack. Nous aimerions donc en quelque sorte déterminer le montant du salaire mensuel, mais il est très difficile de déterminer son montant. De plus, comme nous sommes dans différentes parties du monde, ce qui peut me sembler une richesse se révélera être très peu d'argent pour quelqu'un. Donc tout est compliqué.

Eugene: C'est ça! Vous avez dit qu'après l'université, vous allez travailler sur l'open source, et en attendant, tous ces problèmes financiers ... D'un autre côté, il y a beaucoup de grandes sociétés commerciales comme Google et Apple, et elles paient assez bien. Que pensez-vous d'eux? Travailler dans une telle entreprise super-internationale peut avoir ses avantages (et ses inconvénients).

Nicolò: Ce ne sont pas des choses qui s'excluent mutuellement, car il existe de nombreuses entreprises avec de grands projets open source. Vous pouvez travailler dans une grande entreprise et en même temps travailler sur l'open source. Je ne sais pas si je vais y travailler. Jusqu'à présent, je n'ai pas besoin de beaucoup d'argent, mais après l'université, je devrai trouver un emploi.

Dmitry: Pour autant que je sache, vous êtes un expert invité au TC39. J'ai été impressionné lorsque Sergey Rubanov a déclaré qu'il n'y avait que 20 personnes de ce genre. Pouvez-vous me dire comment vous êtes entré dans ce groupe?

Nicolò: Le rôle de l'expert invité est pour les personnes qui connaissent beaucoup de choses dans un domaine spécifique, ou aident avec de nombreux prozolos, ou aident TC39 de la communauté. Je suis devenu un expert invité grâce à mon travail à Babel. Il a travaillé sur tous les éléments liés à la classe (comme les décorateurs ou les champs de classe). J'ai également besoin d'analyser de nombreuses autres propositions pour leur mise en œuvre chez Babel et afin d'aider les contributeurs externes à les mettre en œuvre.

Je n'ai participé au rallye TC39 qu'une seule fois, mais à l'avenir, je serais heureux d'aider le TC39 de mon mieux.

Dmitry: Voulez-vous devenir un délégué TC39 à l'avenir?

Nicolò: Peut - être. TC39 n'est généralement pas pour les célibataires: vous devez généralement travailler pour une entreprise qui rejoint TC39. Mais si je travaille dans une telle entreprise, je serais heureux d'aider et de devenir délégué.

Eugene: Pourquoi pensez-vous que TC39 est si important? Pourquoi voulez-vous travailler avec eux?

Nicolò: Parce que j'aime JavaScript et j'aime vraiment aider à développer le langage. Travailler avec TC39 est une autre façon d'aider à développer JavaScript. Nous devons le faire pour le bien de la communauté et écouter les gens pour rendre JavaScript encore meilleur pour tout le monde.

Dmitry: Pensez-vous qu'étudier dans une université est une exigence stricte pour devenir un développeur à succès?

Nicolò: Je ne pense pas. Je n'étudie pas l'informatique et je ne ferai probablement pas cela. J'ai programmé bien avant d'entrer à l'université. J'ai rejoint les développeurs Babel quand j'étais lycéen. Je connais beaucoup d'autres jeunes qui n'ont pas non plus de diplôme universitaire en informatique, mais ils sont déjà devenus d'excellents développeurs et peuvent trouver un bon travail.

Eugene: Néanmoins, étudier dans une université peut apporter des avantages supplémentaires au travail, non? Dans un plan de carrière ou quelque chose comme ça. Au fait, pourquoi êtes-vous allé en mathématiques?

Nicolò: Je suis d'accord que l'université peut donner autre chose, mais je suis sûr que vous pouvez réussir sans elle. J'ai décidé d'étudier les mathématiques parce que j'aime ça. C'est mon sujet préféré depuis dix ans. J'ai choisi cette faculté non pas parce que j'en ai besoin pour le travail, mais parce que je l'aime.

Si je choisis une université uniquement en fonction de mes besoins, je préférerais probablement l'informatique. Mais en même temps, si vous aimez étudier, l'université est l'un des meilleurs moyens.

Dmitry: Si vous aimez tellement les mathématiques que vous êtes allé à l'université pour cela, alors pourquoi choisir JavaScript comme langue principale dans laquelle vous investissez et que vous souhaitez améliorer? Pourquoi ne pas utiliser Haskell ou certains langages d'apprentissage automatique et de science des données?

Eugene: Les mathématiques sont généralement associées à l'apprentissage automatique et à d'autres choses complexes. Et la plupart des gens dans mon environnement considèrent que JavaScript est entièrement lié aux boutons frontaux, aux boutons, aux divs et que tout cela est totalement inapproprié pour les scientifiques et les mathématiciens.

Nicolò: J'ai commencé à programmer en JavaScript car j'ai une tante qui enseigne le développement web. Quand j'ai voulu comprendre l'informatique, je me suis tourné vers elle, et JS était l'une des langues qu'elle a proposées. Mon premier programme était une extension de navigateur, une triche pour un jeu en ligne auquel je jouais à l'époque. Et JavaScript était le seul langage qui me permettait de le faire.

Plus tard, j'ai essayé Haskell et j'ai bien aimé. J'aime qu'il soit proche des mathématiques. Mais je ne l'ai jamais suffisamment appris pour y écrire de grandes applications. Donc, en fait, j'aime JavaScript juste parce que j'ai commencé à l'apprendre en premier et que je le connais donc mieux.

Dmitry: Que pensez-vous de la résolution des tâches quotidiennes dans un langage de programmation vous-même? Cela pourrait-il être considéré comme un bon moyen d'enseigner la programmation?

Nicolò: Je ne suis pas très doué pour enseigner la programmation. Les étudiants réfléchissent généralement à la façon d'apprendre quelque chose et espèrent que les enseignants pourront leur enseigner :) Je pense que chez Babel, nous sommes bien placés pour faciliter l'apprentissage JavaScript pour les débutants. Par exemple, une fois que nous avons discuté de la possibilité de traduire JavaScript dans d'autres langues humaines - ainsi, par exemple, si vous êtes russe, vous pouvez écrire «si» au lieu de «si». Nous ne l'avons pas fait, et je ne sais pas si nous le ferons à l'avenir. Mais c'est un bon exemple de la façon d'abaisser la barre d'entrée.

Dmitry: Les mathématiques ont-elles besoin d'un développeur JavaScript moderne?

Nicolò: Cela dépend beaucoup de ce que vous allez faire. La plupart des applications JavaScript n'ont pas besoin de calculs, ou le minimum est nécessaire là-bas. Si vous êtes engagé dans la conception Web, comprendre les sinus et les cosinus peut être utile, c'est tout. Je pense qu'il y a beaucoup d'autres langages où les mathématiques sont beaucoup plus utiles: par exemple, dans l'apprentissage automatique ou la science des données, où JavaScript n'est presque jamais utilisé, vous devez en savoir plus sur les mathématiques. Mais si vous écrivez simplement des serveurs sur Node.js ou des applications clientes, il est peu probable que vous en ayez besoin.

Eugene: Avec quoi étudiez-vous? Eh bien, nous connaissons déjà l'université, mais il y a peut-être autre chose. Tous les podcasts, vidéos, mitaps, articles sur Internet ...

Nicolò: Je lis principalement des blogs ou juste de la documentation sur les bibliothèques ou les langues. Je n'ai jamais vraiment utilisé de vidéos ou de podcasts car il m'est difficile de les écouter pendant plus d'une heure. Comme je l'ai déjà dit, dans mon enfance, j'avais une tante qui m'a appris les rudiments de la programmation. Et puis j'ai commencé à m'étudier. J'avais l'habitude d'avoir des applications de services de blog comme Medium installées sur mon smartphone, mais ensuite je les ai supprimées car j'ai lu trop de tutoriels et d'explications sur les nouvelles puces au lieu de me concentrer sur mes tâches.

Eugene: Qu'en est-il des sources hors ligne comme les réunions et les conférences? Participez-vous à eux?

Nicolò: Je ne connais pas très bien la communauté de ma ville. Je suis allé à un mitap une ou deux fois. J'ai visité ma première conférence il y a quelques mois à peine. J'aimerais interagir avec la communauté locale, mais quand j'ai essayé la dernière fois, il s'est avéré que j'étais la seule là-bas qui avait moins de 20 ans. Je me sentais hors de propos. Mais je vais réessayer plus tard et voir ce qui se passe.

Eugene: Pensez-vous qu'il y a de l'âgisme dans la communauté? Je veux dire, tout le monde qui a moins de 20 ans est considéré comme un junior?

Nicolò: Si toutes les personnes que vous voyez ont environ dix ans de plus, cela vous met mal à l'aise. Habituellement, les jeunes ne fréquentent pas une génération beaucoup plus âgée. Je pense que cela va changer avec le temps, il sera plus facile de communiquer. Jusqu'à présent, j'ai toujours été proche des gens de mon âge, donc la situation lors des réunions était complètement différente. Mais en même temps on ne m'a jamais interdit de participer et ils n'ont pas dit que j'étais trop jeune. Personne n'a remis en question mes capacités selon l'âge.

Eugene: Beaucoup de ces événements hors ligne - réunions, conférences, ateliers - il ne s'agit pas seulement d'acquérir de nouvelles connaissances, mais aussi de réseauter. Que pensez-vous du réseautage en général? Je veux dire, rencontrer des gens, établir des liens, explorer la communauté locale ...

Nicolò: Je pense que le réseautage est important. Surtout parce qu'il vous permet de trouver du travail ou des personnes ayant des intérêts similaires. Mais en ce moment, je ne ressens pas vraiment le besoin urgent de chercher des gens hors ligne dans ma ville, parce que je suis déjà occupé à étudier et à travailler sur Babel, et je n'ai tout simplement pas le temps de communiquer avec de nouvelles personnes. Je voudrais également trouver de nouveaux contributeurs à Babel, pour montrer aux gens que bien que ce soit un projet populaire, tout le monde peut y contribuer.

Eugene: Avez-vous assisté à une réunion de l'équipe Babel en direct?

Nicolò: Oui, j'ai rencontré une partie de l'équipe au JSConf à Berlin. Ce n'était pas toute l'équipe, mais une partie importante des contributeurs actifs. Ce fut une expérience merveilleuse, car je communiquais avec ces personnes uniquement en ligne. Bien que nous passions parfois des appels vidéo, c'était très agréable de les rencontrer en direct.

Dmitry: C'est votre première fois en Russie. Vous attendez quelque chose du voyage?

Nicolò: Eh bien, quand je voyage, j'essaie de ne faire aucune hypothèse ni attente. Je pense que si je n’attends rien à l’avance, la surprise sera bien meilleure! Et aussi, à propos de Moscou, je ne connais qu'une chose - le bar, que mon ami m'a conseillé de visiter. Cependant, il ne vit plus à Moscou, il a déménagé en Italie il y a un an environ. Peut-être que ce bar est juste à côté de son ancienne maison. En général, il n'y a aucune attente, je veux tout regarder avec un regard neuf.

Dmitry: J'espère que nous visiterons ce bar ensemble. Soit dit en passant, avez-vous des plans pour HolyJS?

Nicolò: Je m'attends à avoir beaucoup de plaisir à rencontrer des gens. Apprendre à connaître les gens, discuter de Babel avec eux et essayer d'intéresser les gens est la partie la plus agréable. Je pense que toute conférence devrait aider les gens à s'unir. Et du point de vue non pas du participant, mais de l'orateur, - eh bien, j'espère juste que tout va bien.

Dmitry: Bien sûr que cela passera, nous y travaillons.

Nicolò fera une présentation sur «@ babel / how-to» à HolyJS 2019 Moscou le 8 novembre.

Source: https://habr.com/ru/post/fr474722/


All Articles