تسليط الضوء على منتدى GDE: نيشو جويل

"نيشو جويل" هو مهندس ويب شهير من الهند وخبير في المطوّرين لدى Google في مجال Angular وتقنيات الويب. وقد أخبرتنا عن المشاركة في المنتدى وخططها المهنية وأفضل الطرق لتعلُّم تطوير البرامج على الويب.

مونيكا جانوتا
مونيكا يانوتا

"نيشو" على خشبة المسرح

"نيشو غويل" هو مهندس ويب شهير من الهند، وخبير في تطوير برامج Google في مجال Angular وتقنيات الويب، وشركة Microsoft الأكثر قيمة. وهي أيضًا مؤلّفة دليل خطوة بخطوة لتوجيه الزاوي (BPB, 2019) ودليل عملي إلى Angular (Educative, 2021) بالإضافة إلى مؤلّفة Web Almanac 2021 في فصل JavaScript. يعمل نيشو حاليًا في شركة epilot GmbH كمهندس حزمة كاملة. وقد أخبرتنا عن المشاركة في المنتدى وخططها المهنية وأفضل الطرق لتعلُّم تطوير البرامج على الويب.

مونيكا: لنبدأ بقصتك. ما الذي دفعكِ إلى أن تصبحي مطوّرًا وأن تؤديي دورًا نشطًا في منتديات مطوّري البرامج؟

نيشو: لقد حصلتُ على درجة البكالوريوس في علوم الكمبيوتر، ودرسنا هياكل البيانات، وهنا بدأ الاهتمام بالبرمجة. وخلال السنة الثالثة من الهندسة، تم إنشاء رابط مع منتدى المطوّرين من خلال مشاركتي في مسابقة Microsoft Imagine Cup Nationals لتقديم حلول من خلال الرموز البرمجية. كانت فكرة التطبيق الذي أنشأناه هو توفير الفرص التعليمية للطلاب المحليين، وخاصة الفتيات. وقابلت أشخاصًا ملهمين جدًا، متسابقين ومنظمين في هذه الرحلة.

في عام 2018، انطلقت مسيرتي المهنية وبدأت العمل مع Angular. أصبحت Angular التكنولوجيا الأساسية التي ربطتني ببرنامج GDE. وفي الوقت نفسه تقريبًا، بدأت في كتابة مشاركات المدونات وإنشاء محتوى حول الموضوع الذي كنت أعمل عليه وأتعلمه . ساعدني "دانانجاي كومار" على بدء رحلتي وأضمن بقاءي على المسار الصحيح. تناولت مقالاتي الأولى أساسيات Angular. بعد فترة وجيزة من بدء التحدث في الفعاليات، عقدت الفعالية الأولى مؤتمر ngNepal، مؤتمر Angular في نيبال. وقد أدّى ذلك إلى تلقّي المزيد من الدعوات لحضور لقاء عن Angular وتقنيات الويب.

نيشو وأشخاص آخرين من ng-الهند.

مونيكا: ما هي خبرتك المهنية من ناحية التكنولوجيا؟

نيشو: كان الأمر يتمحور حول Angular ومكوّنات الويب في العامين الأولين. كنت أستخدم Angular لإنشاء الويب، ولكن سرعان ما قررت الانتقال إلى أبعد من ذلك واستكشاف مجالات أخرى. لم أكن أريد حدّ نفسي في حال اضطررتُ إلى التبديل بين المشاريع. تلك هي الطريقة التي بدأت بها في إنشاء مكونات ويب في Angular لاستخدامها في أُطر عمل أخرى.

أول شيء فعلته هو إنشاء مكونات ويب باستخدام Angular. نشرتُه على npm واستخدمته كعرض توضيحي في مشروع React. وقد ناقشتُ ذلك خلال بعض الحوارات والعروض التقديمية في وقت لاحق. كانت وظيفتي التالية مطلوبة باستخدام React وTypescript. بما أنّني كنت أستخدم React (التفاعل)، لم أعُد أستخدم إطار عمل واحدًا فحسب، بل استخدمت الويب بشكل عام. في تلك اللحظة، تعلمت الكثير عن الويب، وخاصةً حول أداء الويب. في تلك الفترة، كان عليّ البدء بالتفكير في سرعة عرض أكبر محتوى مرئي (LCP) أو سرعة عرض أكبر جزء من المحتوى على الصفحة (FCP)، ما يعني مقدار الوقت الذي سيستغرقه تحميل التطبيق أو الحد الأقصى لوقت عرض الصفحة. كنت أعمل على اختيار أفضل الممارسات وتحسين أداء التطبيقات.

ولهذا الاهتمام بأداء الويب، انخرطت في "تقويم الويب" وكتبتُ فصل JavaScript. Web Almanac هو تقرير سنوي عن حالة الويب بشكل عام، وهو يخبرنا بكيفية استخدام الأشخاص للميزات المختلفة. في العام الماضي، تم فحص 8.6 مليون موقع إلكتروني، وتحليل البيانات وتقديمها في التقرير. يتضمّن التقرير إحصاءات مثل استخدام السمتَين async وdefer في عنصر <script>. كم عدد المواقع الإلكترونية التي تستخدمها بشكل صحيح، وعدد المواقع الإلكترونية التي لا تستخدم ذلك على الإطلاق، وعدد المواقع الإلكترونية التي تم تحسينها مقارنةً بعام 2020. ذكر تقرير "تقويم الويب" الأخير أنّ حوالي 35% من المواقع الإلكترونية استخدمت سمتَين على النص البرمجي نفسه، وكان هذا سلوكًا معقّدًا للنمط، ما يتسبّب في انخفاض مستوى الأداء. وقد تم توضيح ذلك في العام الماضي، وحاولنا هذا العام معرفة ما إذا كان الوضع قد تحسن أم لا. وتحدثتُ أيضًا في مؤتمر ngConf ومؤتمر Reliable Dev Summit، حيث ركزتُ على أداء الويب.

إصدار مطبوع من Web Almanac.

مونيكا: أنت تشارك كثيرًا في ردّ الجميل إلى المنتدى. كنت تتطوّع مؤخرًا مع منظمة غير حكومية أوغندية YIYA، فكيف بدأت تلك المنظمة وما هي النقطة الرئيسية لهذا التعاون؟

نيشو: بدأ فريق GDE لإعلامنا بفرصة التطوّع مع فريق YIYA. كانت المنظمة غير الحكومية الأوغندية تبحث عن مهندسين لمساعدتهم في إعداد المحتوى أو الميزات الفنية. يهدف البرنامج إلى تمكين الأطفال في سن المدارس في أوغندا وتوفير فرص تعليمية باستخدام التكنولوجيات المتاحة محليًا، وليس أجهزة الكمبيوتر أو الكتب الدراسية، ولكن بالأحرى الهواتف الأساسية وأجهزة الراديو. سيتصل الأطفال برقم معين ويتلقون مجموعة من المعلومات، ويتصلون برقم آخر للحصول على مزيد من الإحصاءات، وما إلى ذلك. وقد أصبحت هذه الميزة أكثر فائدة خلال فترة الجائحة.

ولطالما انخرطت في تحقيق أهداف المجتمع والتنمية المستدامة، قرّرتُ التواصل معك. بعد الاجتماع مع فريق YIYA، عرضتُ مساعدتي بشأن النصوص البرمجية في Python أو أي أخطاء توصلوا إليها، وأي مشاكل في البوابة. لقد عملنا معًا لفترة زمنية قصيرة.

مونيكا: ما هي خططك للعام 2022؟ هل هناك أي شيء تركز عليه بشكل خاص؟

نيشو: أبدّل الوظيفة وأنتقل إلى بلد آخر. سأعمل على الويب بشكل عام، وسأحسّن أداء الموقع، وكذلك في الخلفية، باستخدام Golang. سأواصل التركيز على مجال أداء الويب كونه مثيرًا للاهتمام ومعقدًا للغاية، وهناك الكثير من الأمور التي يجب فهمها وتحسينها. حتى الآن، وبعد أن كرست الكثير من وقتي لذلك، لا يزال هناك الكثير لأتعلمه. على سبيل المثال، أود أن أفهم كيف سيساعدني استخدام شبكة توصيل المحتوى (CDN) لموارد الصور في جعل تطبيقي أسرع. أريد أن أصبح خبيرًا في أداء الويب، وأنا سأصل إليه تدريجيًا، أعتقد أنّ :)

مونيكا: لقد ذكرت أنّ البدء بالكتابة في مرحلة لم تكن فيها خبيرًا، بل فقط ما كنت تتعلّمه. ما هي النصيحة التي تقدّمها للمطوّرين الجدد الذين سيجدونهم ويشعرون أنّه ليس لديهم أي معلومات لمشاركتها؟

نيشو: هذا بالضبط ما شعرت به عندما بدأت الكتابة. ظننتُ أنّه عليّ عدم نشر هذه المعلومات؟ ربما تكون خاطئة؟ كنت قلقًا لأن كتابتي لن تساعد القراء. لكن الشيء المهم هو أن كتابتي ساعدتني. أنسى الأشياء بعد مرور بعض الوقت، ثم أعود إلى شيء كتبته سابقًا. إن كتابة الأشياء فكرة رائعة.

كتاب التوجيه الزاوي على جدول.

لذلك أود أن أقترح على الجميع الكتابة في أي مرحلة. حتى إذا كنت قد أنهيت جزءًا واحدًا فقط من الدورة التدريبية التي تمر بها - فأنت تتعلمها بتدوينها. قد تكون إحدى المعلومات التي تعرفت عليها في مرحلة ما مفيدة للآخرين الذين لا يعرفون هذه المعلومات بعد. لا تحتاج إلى أن تكون خبيرًا. سوف تساعدك الكتابة. وأي شخص، في أي مرحلة من مراحل حياته المهنية.

مونيكا: من الأفضل متابعة الأشخاص الذين تعلّموا شيئًا ما للتوّ لأنّهم يعرفون كل ما يحتاجون إلى معرفته. بمجرد أن تصبح خبيرًا، من الصعب أن تتذكر كيف كانت عندما كنت جديدًا. وأي نصيحة لأي شخص بدأ خبرة في تطوير البرامج على الويب؟

نيشو: العديد من المستخدمين يسألون عن إطار العمل الذي عليهم اختياره عند البدء، لكنّني أعتقد أنّ هذا ليس السؤال الصحيح. كل ما نتعلمه في أي مرحلة يجب أن يكون مفيدًا في مرحلة لاحقة أيضًا. أنصح أي شخص بإسقاط القيود والبدء باستخدام HTML أو JavaScript، الأمر الذي سيحقق أرباحًا في المستقبل.

ثم اغتنم أي فرصة تراها. وقد حدث لي ذلك عندما صادفت معلومات حول "تقويم الويب" للبحث عن مؤلفين. لقد فكرت في الأمر: "هذا أمر مثير للاهتمام، فقد يساعدنا ذلك في تحسين الأداء". وهكذا أصبحتُ قائدًا للمحتوى لفصل JavaScript، وأمضيت ستة أشهر في كتابته. لذلك أعتقد أن الأمر يتعلق فقط باستغلال الفرص والعمل الجاد.

مونيكا: هل لديك أي توقعات أو أفكار حول مستقبل تكنولوجيا الويب بشكل عام؟ ما هو الموضوع المهم التالي؟ ما الذي سوف ينمو بسرعة؟

نيشو: يعجبني قدرتنا على تشغيل الخوادم في المتصفحات في الوقت الحالي، وهذا إنجاز رائع. على سبيل المثال، تم طرح تشغيل Node.js من المتصفح مؤخرًا، بينما لم يكن بإمكاننا تشغيل أي شيء في الماضي بدون تثبيت Node.js في أنظمتنا. يمكننا الآن تنفيذ أي شيء من المتصفح. هذه خطوة كبيرة إلى الأمام في المنظومة المتكاملة للويب. وOMT—خارج سلسلة التعليمات الرئيسية. وسيتحسّن العمل على سلاسل المحادثات كثيرًا أيضًا. تتقدم تقنية Web Assembly وتمكن مطوري البرامج من القيام بذلك، وأعتقد أن هذا هو مستقبل المنظومة المتكاملة للويب.