نيكولو ريبودو هو أحد المطورين الرئيسيين لبابل وخبير زائر في TC39 وطالب في الرياضيات.
سوف نيكولا أداء غدا في HolyJS 2019 موسكو. وتوقعًا لذلك ، تحدث معه أعضاء لجنة برنامج HolyJS يفغيني كوت ( bunopus ) وديمتري ماخنيف ( ديمتري ماخنيف ) حول تطوير بابل ومهام الخبير المدعو والدراسة والتقرير القادم حول HolyJS ... وكيفية الإدارة للحصول على قسط كافٍ من النوم.يوجين: لنبدأ بسؤال بسيط. هل يمكن أن تخبرني قليلاً عن نفسك ، ماذا تفعل؟
نيكولو: لقد كنت أعمل في بابل منذ عامين. أنا أدرس الرياضيات ، والآن في سنتي الثانية في الجامعة. البرمجة والتعلم يستغرق معظم وقتي. أنا أبرمج منذ عشر سنوات ، وجافا سكريبت هي لغتي المفضلة. أعتقد أنني بدأت المساهمة في فتح المصدر على وجه التحديد بسبب جافا سكريبت ، وهذا حدث قبل بضع سنوات.
يوجين: أنت الآن تعمل في فريق بابل الأساسي ، وهذا مثير للإعجاب: بعد كل شيء ، تستخدم معظم المنتجات المكتوبة بلغة جافا سكريبت بابل كل يوم. كيف وصلت إلى الفريق؟
نيكولو: لقد بدأت في المساهمة في ذلك لأنني استخدمته بنفسي وأردت أن أفعل شيئًا للمجتمع. عندما ظهرت للمرة الأولى في مجتمع المصادر المفتوحة ، ساهمت أولاً في مشاريع أخرى ، ثم تعرفت على بابل ، وكان يهتم بي. في الواقع ، كان هناك سبب آخر ، أناني إلى حد ما: أردت أن أصبح مشهورا! أردت أن أعمل على شيء يعرفه الكثير من الناس. ولكن بعد ذلك أدركت السبب الحقيقي الذي يجعل الناس يعملون على المصادر المفتوحة ، واستمروا في العمل لأنني أعجبتني.
يوجين: ولكن لماذا بالضبط بابل؟ هناك العديد من المشاريع المفتوحة المصدر في العالم.
نيكولو: قبل بابل ، تم تهريبي إلى JSHint ، وأنا أحب ذلك أيضًا. هناك تعلمت الكثير عن المحللون. لهذا السبب قابلت بابل. في البداية ، لم أفعل ذلك في محول ، ولكن في محلل. علاوة على ذلك ، كنت معتادًا بالفعل على هذا المشروع وتمكنت من تجربته في مشاريعي الشخصية ، وبالتالي بدا لي أن التعامل مع بابل فكرة جيدة.
يوجين: أنت الآن تدرس الرياضيات ، وهذا شيء معقد إلى حد ما. المصدر المفتوح هو أيضا ليست سهلة في الكتابة. كيف يمكنك الجمع بين كل هذه الأشياء في نفس الوقت؟ هل لديك 30 ساعة في اليوم؟
نيكولو: في العام الماضي كان الأمر صعبًا للغاية ، لقد درست 20 ساعة في الأسبوع وكان لدي الكثير من وقت الفراغ. الآن أصبح الأمر أكثر صعوبة ، لأنه يتعين عليك الدراسة لمدة 30 ساعة. وأريد العمل في مشاريع مفتوحة المصدر لمدة 20 ساعة على الأقل في الأسبوع. مطلوب للقيام بذلك في المساء والليالي ، أو في عطلة نهاية الأسبوع.
يوجين: هل تنام؟
نيكولو: بعد الغداء ، أعمل ربما ثلاث أو أربع ساعات. أنا أحاول عدم إعادة التدوير. ولكن في بعض الأحيان يكون الأمر صعبًا: عندما تحل مهمة صعبة وتكون متحمسًا لهذه العملية ، يتعين عليك إجبار نفسك على التوقف والنوم حتى لا تغفو في اليوم التالي.
يوجين: هل ينظم بابل بطريقة ما؟ أعني ، هل هناك نوع من الأعمال المتراكمة أو يمكنك القيام بأي شيء يتبادر إلى الذهن؟ كيف يعمل؟
نيكولو: ليس لدينا منظمة عملية صارمة. بالطبع ، نرسم خرائط الطريق ، لكننا نقرر ما يجب القيام به. على سبيل المثال ، نختار المهام للإصدار التالي ، وبعد ذلك يمكن لأي شخص العمل على أي منها.
يوجين: هناك دائما بعض المهام الرائعة ، وشيء ممل لا يريد أحد القيام به. كيفية الجمع بين ذلك؟ هل لديك أي ، لا أعرف ، مدير المنتج الذي سيخبرك بما يجب عليك فعله في الأسبوع أو الشهر المقبل؟
نيكولو: نعقد اجتماعات حاشدة كل أسبوعين ، وخلال هذه التجمعات ، إذا كانت هناك أية مهام غير مهمة ، عادة ما نقرر ما يجب القيام به معهم. على سبيل المثال ، تتمثل إحدى أكثر المهام مملة في استكشاف الأخطاء وإصلاحها: لدينا حوالي 700 تذكرة مفتوحة ، والعديد منها لم يعد ذا صلة. ربما تم إصلاحها بالفعل في مكان آخر ، أو كانت هناك مشكلة في تكوين مستخدم معين. على أي حال ، نحاول فرزهم مرة كل شهر أو مرة كل أسبوعين. لكن لا أحد يخبر الآخرين بما يجب عليهم فعله: نحن نأخذ ذلك على أنفسنا.
ديمتري: هل ستعمل على بابل بدوام كامل بعد التخرج؟
نيكولو: نحاول الآن أن نفهم ما إذا كانت المجموعة المفتوحة تجلب لنا ما يكفي من المال حتى يتمكن شخص من الفريق هذا العام من بدء العمل بدوام جزئي في بابل للدفع. بما أننا نخصص الكثير من الوقت للمشروع ، فسيكون من الرائع اعتباره عملاً "حقيقياً". لكن حتى لو لم تتمكن من تحويل بابل إلى مثل هذه الوظيفة ، فما زلت بعد الجامعة أعمل في مشاريع مفتوحة المصدر.
يوجين: لست على دراية بهذا المخطط ، مع Open Collective ... هل لديك أي نوع من التبرعات والأموال المتراكمة ، ثم كيف يقرر الفريق من سيعمل بدوام كامل؟
نيكولو: هذا موضوع معقد ، وعادة ما نناقشه لساعات ، ولكن دون جدوى في بعض الأحيان. الآن ، هنري هو الشخص الوحيد الذي يعمل بدوام كامل. لأنه أتيحت له الفرصة الأولى ولأنه كان الحافظ الأطول. لكننا نحاول الآن أن نفهم ما إذا كان لا يزال هناك أشخاص في الفريق يريدون العمل في بابل ويستطيعون ذلك.
إن محاولة تحويل مثل هذا المشروع الذي يموله المجتمع إلى عمل محفوف بالتعقيد. إذا كنت تعمل في شركة عادية ، فستحصل دائمًا على نفس الراتب ، ويضمن لك الحصول عليه. لكننا نعتمد على التبرعات ، واتضح أنه من الصعب اتخاذ قرارات مهمة في الحياة عندما يكون هناك خطر دائمًا. لذلك ، من الصعب جدًا العثور على أشخاص يرغبون في العمل عليه بدوام كامل أو حتى بدوام جزئي ، والذين نثق بهم. لذلك ليس هناك منافسة في الفريق في هذا الصدد. المشكلة الرئيسية هي إيجاد المال لأولئك الذين ما زالوا يريدون القيام بهذا النوع من العمل.
يوجين: حسنًا ، لقد قمت بجمع الأموال في Open Collective ، فهمت من سيعمل بدوام كامل ، ولكن ماذا سيكون الراتب؟ من يقرر هذا؟
نيكولو: لا نعرف حتى الآن. من الصعب تحديد هذا لأننا بحاجة إلى فهم المبلغ الذي يجب أن ندفعه معًا. وهي لا تريد أن تتبع الوقت ، وبالتالي فإن معدل الساعة غير مناسب. يمكنك بالطبع دفع ثمن النتيجة ، ولكن بعد ذلك ماذا تفعل بالمهام الطويلة أو بعض المهام الشاقة التي لا تعطي نتيجة واضحة على الفور؟ على سبيل المثال ، فرز الأخطاء أو مساعدة الأشخاص في سلاك. لذلك نود أن نحدد حجم الراتب الشهري بطريقة أو بأخرى ، ولكن من الصعب للغاية تحديد مقدار المرتب. بالإضافة إلى ذلك ، نظرًا لأننا في أجزاء مختلفة من العالم ، فإن ما قد يبدو لي ثروة سوف يتحول إلى أموال قليلة جدًا لشخص ما. لذلك كل شيء معقد.
يوجين: هذا كل شيء! لذا قلت إنك بعد الجامعة ستعمل على المصادر المفتوحة ، وفي الوقت نفسه - كل هذه المشاكل المالية ... من ناحية أخرى ، هناك العديد من الشركات التجارية الكبرى مثل Google و Apple ، وهي تدفع جيدًا. ما رأيك بها؟ يمكن أن يكون للعمل في مثل هذه الشركة الفائقة الدولية مزاياها (وعيوبها).
نيكولو: هذه ليست أشياء متبادلة ، لأن هناك العديد من الشركات التي لديها مشاريع كبيرة مفتوحة المصدر. يمكنك العمل في شركة كبيرة وفي نفس الوقت العمل على المصادر المفتوحة. لا أعرف إذا كنت سأعمل في هذا. لا أحتاج حتى الآن إلى الكثير من المال ، لكن بعد الجامعة سأجد وظيفة.
ديمتري: على حد علمي ، أنت خبير زائر في TC39. لقد تأثرت عندما قال سيرجي روبانوف إن هناك 20 شخصًا فقط ، هل يمكنك أن تخبرني كيف دخلت هذه المجموعة؟
نيكولو: دور الخبير المدعو هو للأشخاص الذين يعرفون الكثير في مجال معين ، أو يساعدون في العديد من prozolos ، أو يساعدون TC39 من المجتمع. أصبحت خبيرة ضيف من خلال عملي في بابل. كان يعمل في جميع العناصر ذات الصلة بالفصل (مثل الديكور أو حقول الفصل). أحتاج أيضًا إلى تحليل العديد من المقترحات الأخرى لتنفيذها في بابل ولمساعدة المساهمين الخارجيين على تنفيذها.
شاركت فقط في تجمع TC39 مرة واحدة فقط ، لكن في المستقبل سأكون سعيدًا بمساعدة TC39 بكل ما أستطيع.
ديمتري: هل تريد أن تصبح مندوب TC39 في المستقبل؟
نيكولو: ربما. TC39 لا يناسب الأشخاص المنفردين: عادة ما تحتاج إلى العمل لدى شركة تنضم إلى TC39. ولكن إذا كنت أعمل في مثل هذه الشركة ، فسأكون سعيدًا للمساعدة وتصبح مندوبة.
يوجين: لماذا تعتقد أن TC39 مهم جدًا؟ لماذا تريد العمل معهم؟
نيكولو: لأنني أحب جافا سكريبت وأحب حقًا المساعدة في تطوير اللغة. يعد العمل مع TC39 طريقة أخرى للمساعدة في تطوير JavaScript. نحتاج إلى القيام بذلك من أجل المجتمع والاستماع إلى الناس لجعل JavaScript أفضل للجميع.
ديمتري: هل تعتقد أن الدراسة في الجامعة هي شرط صارم لتصبح مطورًا ناجحًا؟
نيكولو: لا أعتقد ذلك. أنا لا أدرس علوم الكمبيوتر ، ومن غير المحتمل أن أفعل ذلك. لقد قمت ببرمجة قبل فترة طويلة من دخولي الجامعة. انضممت إلى مطوري بابل عندما كنت طالبة في المدرسة الثانوية. أعرف الكثير من الشباب الذين لا يحملون شهادة جامعية في علوم الكمبيوتر ، لكنهم أصبحوا بالفعل مطورين ممتازين ويمكنهم الحصول على وظيفة جيدة.
يوجين: ومع ذلك ، يمكن أن توفر الدراسة في جامعة بعض الفوائد الإضافية في العمل ، أليس كذلك؟ في خطة مهنية أو شيء من هذا القبيل. بالمناسبة ، لماذا ذهبت إلى الرياضيات؟
نيكولو: أوافق على أن الجامعة يمكن أن تقدم شيئًا آخر ، لكنني متأكد من أنه بإمكانك أن تكون مطورًا ناجحًا بدونه. قررت دراسة الرياضيات لأنني أحب ذلك. هذا هو موضوعي المفضل منذ عشر سنوات. لقد اخترت هذه الكلية ليس لأنني بحاجة إليها للعمل ، ولكن لأنني أحبها.
إذا اخترت جامعة فقط بناءً على ما أحتاج إليه ، فمن الأفضل أن أختار علوم الكمبيوتر. ولكن في الوقت نفسه ، إذا كنت ترغب في الدراسة ، فإن الجامعة هي واحدة من أفضل الطرق.
ديمتري: إذا كنت تحب الرياضيات لدرجة أنك ذهبت إلى الجامعة من أجلها ، فلماذا تختار JavaScript اللغة الرئيسية التي تستثمر فيها وتريد تحسينها؟ لماذا لا تأخذ هاسكل أو بعض لغات التعلم الآلي وعلوم البيانات؟
يوجين: ترتبط الرياضيات عادة بالتعلم الآلي والأشياء المعقدة الأخرى. ومعظم الأشخاص في بيئتي يعتبرون جافا سكريبت بمثابة شيء كامل حول الأزرار الأمامية والأزرار و divs ، وكل هذا غير مناسب تمامًا للعلماء وعلماء الرياضيات.
نيكولو: بدأت البرمجة في جافا سكريبت لأن لدي عمة تدرس تطوير الويب. عندما أردت أن أفهم أجهزة الكمبيوتر ، التفت إليها ، وكانت JS واحدة من اللغات التي اقترحتها. كان برنامجي الأول هو امتداد للمتصفح ، خداع لعبة عبر الإنترنت كنت ألعبها في ذلك الوقت. وجافا سكريبت هي اللغة الوحيدة التي سمحت لي بذلك.
بعد ذلك جربت هاسكل وأعجبتني. يعجبني أنه قريب من الرياضيات. لكنني لم أتعلمها أبداً بما يكفي لكتابة تطبيقات كبيرة عليها. لذا ، في الواقع ، أحب جافا سكريبت لمجرد أنني بدأت في تعلمه أولاً وبالتالي أعرفه جيدًا.
ديمتري: ما رأيك في حل المهام اليومية في بعض لغات البرمجة بنفسك؟ هل يمكن اعتبار هذه طريقة جيدة لتعليم البرمجة؟
نيكولو: أنا لست جيدًا في تدريس البرمجة. عادةً ما يفكر الطلاب في كيفية تعلم شيء ما ، وآمل أن يتمكن المدرسون من تعليمهم :) أعتقد أننا في بابل في وضع جيد لجعل تعلم JavaScript أسهل للمبتدئين. على سبيل المثال ، بمجرد أن ناقشنا إمكانية ترجمة JavaScript إلى لغات بشرية أخرى - لذلك ، على سبيل المثال ، إذا كنت روسية ، فيمكنك كتابة "if" بدلاً من "if". لم نفعل ذلك من هذا القبيل ، ولا أعرف ما إذا كنا سنقوم بذلك في المستقبل. ولكن هذا مثال جيد على كيفية خفض شريط الإدخال.
ديمتري: هل تحتاج الرياضيات إلى مطور جافا سكريبت حديث؟
نيكولو: يعتمد الأمر كثيرًا على ما ستفعله. معظم تطبيقات جافا سكريبت لا تحتاج إلى أي الرياضيات ، أو هناك حاجة إلى الحد الأدنى هناك. إذا كنت منخرطًا في تصميم مواقع الويب ، فقد يكون فهم الجيب وجيب التمام مفيدًا ، هذا كل شيء. أعتقد أن هناك العديد من اللغات الأخرى حيث تأتي الرياضيات في متناول اليد أكثر من ذلك بكثير: على سبيل المثال ، في التعلم الآلي أو علم البيانات ، حيث جافا سكريبت لا تستخدم على الإطلاق ، تحتاج إلى معرفة المزيد عن الرياضيات. ولكن إذا كتبت للتو خوادم على Node.js أو تطبيقات العميل ، فمن غير المحتمل أن تحتاج إلى ذلك.
يوجين: ماذا تدرس مع؟ حسنًا ، نحن نعرف بالفعل عن الجامعة ، لكن ربما يوجد شيء آخر. أي دبليو ، ومقاطع الفيديو ، mitaps ، والمقالات على شبكة الإنترنت ...
نيكولو: قرأت في الغالب المدونات أو مجرد وثائق على المكتبات أو اللغات. لم أستخدم مقاطع الفيديو أو البودكاست أبدًا لأنه يصعب علي الاستماع إليها لأكثر من ساعة. كما قلت بالفعل ، في طفولتي كان لدي عمة علمتني أساسيات البرمجة. ثم بدأت في دراسة نفسي. اعتدت أن يكون لدي تطبيقات خدمات المدونات مثل Medium مثبتة على هاتفي الذكي ، لكنني بعد ذلك حذفتها لأنني قرأت الكثير من البرامج التعليمية وشروحات الرقائق الجديدة ، بدلاً من التركيز على المهام الخاصة بي.
يوجين: ماذا عن مصادر خارج الإنترنت مثل الاجتماعات والمؤتمرات؟ هل تشارك فيها؟
نيكولو: لست على دراية بالمجتمع في مدينتي. لقد ذهبت إلى mitap مرة أو مرتين. زرت مؤتمري الأول قبل بضعة أشهر فقط. أود أن أتفاعل مع المجتمع المحلي ، لكن عندما حاولت في المرة الأخيرة ، اتضح أنني كنت الوحيد الذي كان دون سن 20 عامًا. شعرت من المكان. ولكن سأحاول مرة أخرى لاحقًا وأرى ما سيحدث.
يوجين: هل تعتقد أن هناك شيخوخة في المجتمع؟ أعني ، كل من يقل عمره عن 20 سنة ينظر إليه على أنه صغار؟
نيكولو: إذا كان كل الأشخاص الذين تراهم أكبر بعشر سنوات ، فهذا يجعلك غير مرتاح. عادة الشباب لا يتسكعون مع جيل أكبر سنا. أعتقد أن هذا سوف يتغير مع مرور الوقت ، وسيكون التواصل أسهل. حتى الآن كنت دائمًا على مقربة من أشخاص في عمري ، لذلك كان الوضع في الاجتماعات مختلفًا تمامًا. لكن في الوقت نفسه ، لم يُمنع مطلقًا من المشاركة ولم يقولوا إنني شاب جدًا. لا أحد شكك في قدراتي حسب العمر.
يوجين: الكثير من مثل هذه الأحداث غير المتصلة بالإنترنت - الاجتماعات والمؤتمرات وورش العمل - لا يتعلق الأمر فقط باكتساب معرفة جديدة ، بل يتعلق أيضًا بالتواصل. ما رأيك في الشبكات بشكل عام؟ أعني ، لقاء الناس ، وبناء الروابط ، واستكشاف المجتمع المحلي ...
نيكولو: أعتقد أن التواصل مهم. خاصة لأنه يتيح لك العثور على عمل أو أشخاص لديهم اهتمامات مماثلة. لكنني في الوقت الحالي لا أشعر بالحاجة الماسة للبحث عن أشخاص غير متواجدين في مدينتي ، لأنني مشغول بالفعل بالدراسة والعمل على بابل ، وليس لدي وقت للتواصل مع أشخاص جدد. أود أيضًا أن أجد مساهمين جددًا في بابل ، لأظهر للناس أنه على الرغم من أن هذا مشروع شائع ، إلا أنه يمكن لأي شخص المساهمة فيه.
يوجين: هل زرت أي فريق بابل على الهواء مباشرة؟
نيكولو: نعم ، لقد قابلت جزءاً من الفريق في JSConf في برلين. لم يكن هذا الفريق بأكمله ، ولكن جزءًا كبيرًا من المساهمين النشطين. لقد كانت تجربة رائعة ، لأنني كنت أتواصل مع هؤلاء الأشخاص عبر الإنترنت فقط. على الرغم من أننا نجري أحيانًا مكالمات فيديو ، إلا أنه كان من الجيد للغاية مقابلتها مباشرة.
ديمتري: هذه هي المرة الأولى في روسيا. أي شيء تتوقعه من الرحلة؟
نيكولو: حسنًا ، عندما أسافر ، أحاول ألا أقدم أي افتراضات أو توقعات. أعتقد أنه إذا لم أكن أتوقع أي شيء مقدمًا ، فستكون المفاجأة أفضل بكثير! وأيضًا ، عن موسكو ، أعرف شيئًا واحدًا فقط - الشريط ، الذي نصح صديقي بزيارته. ومع ذلك ، لم يعد يعيش في موسكو ، وانتقل إلى إيطاليا قبل عام أو نحو ذلك. ربما هذا الشريط هو فقط بجوار منزله السابق. بشكل عام ، لا توجد توقعات ، أريد أن أنظر إلى كل شيء بنظرة جديدة.
ديمتري: آمل أن نزور هذا الشريط معًا. بالمناسبة ، حسنا ، هل لديك أي خطط لل HolyJS؟
نيكولو: أتوقع أن أحصل على الكثير من المتعة من مقابلة الأشخاص. يعد التعرف على الأشخاص ومناقشة بابل معهم ومحاولة اهتمام الناس هو الجزء الأكثر إمتاعًا. أعتقد أن أي مؤتمر يجب أن يساعد الناس على التوحيد. ومن وجهة نظر ليس المشارك ، بل المتكلم ، - حسنًا ، أتمنى أن يسير كل شيء على ما يرام.
ديمتري: بالطبع سيمر ، نحن نعمل عليه.
سيقدم نيكولو عرضًا تقديميًا عن "@ babel / how-to" في HolyJS 2019 موسكو في 8 نوفمبر.