نيشو غويال هو مهندس ويب مشهور من الهند، وهو خبير مطوّر في Google لتقنيات Angular والويب. تحدّثنا دينا عن مشاركتها في المجتمع وخططها المهنية وأفضل الطرق لتعلم تطوير الويب.

نيشو غويال هو مهندس ويب مشهور من الهند، وهو خبير مطوّر في Google لتقنيات Angular والويب، وأحد أهم الخبراء في Microsoft. وهي مؤلفة كتابَي Step by Step Angular Routing (BPB، 2019) وA Hands-on Guide to Angular (Educative، 2021)، بالإضافة إلى مؤلفة فصل JavaScript في Web Almanac لعام 2021. يعمل "نيشو" حاليًا في شركة epilot GmbH كمهندس للمجموعة الكاملة من الخدمات. تحدّثنا دينا عن مشاركتها في المجتمع وخططها المهنية وأفضل الطرق لتعلم تطوير الويب.
Monika: لنبدأ بقصتك. ما الذي ألهمك لتصبح مطوّرًا وتلعب دورًا نشطًا في مجتمعات المطوّرين؟
نيشو: حصلت على درجة البكالوريوس في علوم الكمبيوتر، ودرسنا هياكل البيانات، وهذا ما بدأ معه اهتمامي بالبرمجة. خلال السنة الثالثة من تخصص الهندسة، تم إنشاء رابط مع منتدى المطوّرين من خلال مشاركتي في مسابقة Microsoft Imagine Cup Nationals حيث قدّمنا حلولاً من خلال الرموز البرمجية. كانت فكرة التطبيق الذي أنشأناه هي توفير فرص تعليمية للطلاب المحليين، وخاصة الفتيات. لقد قابلتُ بعض الأشخاص الملهمين جدًا، سواء كانوا من المتسابقين أو المنظّمين في هذه الرحلة.
في عام 2018، بدأت مسيرتي المهنية، وبدأت العمل باستخدام Angular. أصبحت Angular التكنولوجيا الأساسية التي ربطتني ببرنامج GDE. في الوقت نفسه تقريبًا، بدأتُ في كتابة مشاركات مدونة وإنشاء محتوى حول الموضوع الذي كنت أعمل عليه وأتعلّمه . ساعدني Dhananjay Kumar في بدء هذه الرحلة والتأكّد من بقائي على المسار الصحيح. تناولت مقالاتي الأولى أساسيات Angular. بعد فترة قصيرة من بدء إلقاء المحاضرات في الفعاليات، كان أولها ngNepal، وهو مؤتمر Angular في نيبال. أدّى ذلك إلى تلقّي المزيد من دعوات المحاضرات حول Angular وتقنيات الويب.

Monika: ما هي خبرتك المهنية في مجال التكنولوجيا؟
نيشو: كان التركيز في العامين الأولين على Angular وWeb Components. كنت أستخدم Angular لإنشاء الويب، ولكن سرعان ما قررت تجاوز ذلك واستكشاف مجالات أخرى. لم أردّ تقييد نفسي في حال اضطررت إلى تبديل المشاريع. وهكذا بدأت في إنشاء مكونات الويب في Angular لاستخدامها في إطارات عمل أخرى.
أول ما فعلته هو إنشاء مكوّنات ويب باستخدام Angular. لقد نشرته على npm وكنت أستخدمه كإصدار تجريبي في مشروع React. لقد ناقشتُ هذا الموضوع في بعض محادثاتي وعروضي التقديمية لاحقًا. وكانت وظيفتي التالية تتطلّب استخدام React وTypescript. الآن، بما أنّني كنت أعمل مع React، لم أستخدم إطار عمل واحدًا فقط بعد الآن، بل استخدمت الويب بشكل عام. في تلك المرحلة، تعلمت الكثير عن الويب، وخاصةً أداء الويب. في هذه الحالة، كان عليّ التفكير في مقياس سرعة عرض أكبر محتوى مرئي (LCP) أو الوقت المطلوب لبدء عرض الصفحة (FCP)، وهو الوقت الذي سيستغرقه تحميل تطبيقك أو الحد الأقصى للوقت الذي تستغرقه الصفحة لعرض المحتوى. لقد كنت أعمل على اختيار أفضل الممارسات وتحسين أداء التطبيقات.
بسبب هذا الاهتمام بأداء الويب، شاركت في "منجم الويب" وكتبت فصل JavaScript. "منجم الويب" هو تقرير سنوي عن حالة الويب بشكل عام، ويوضّح لنا كيفية استخدام المستخدمين للميزات المختلفة. في العام الماضي، تم فحص 8.6 مليون موقع إلكتروني، وتم تحليل البيانات وعرضها في التقرير. يتضمّن التقرير إحصاءات، مثل استخدام السمتَين async
وdefer
في عنصر <script>
. عدد المواقع الإلكترونية التي تستخدمها بشكل صحيح، وعدد المواقع الإلكترونية التي لا تستخدمها على الإطلاق، وعدد المواقع الإلكترونية التي تحسّنت في هذا الشأن مقارنةً بالعام 2020 أشار تقرير Web Almanac الأخير إلى أنّ % 35 تقريبًا من المواقع الإلكترونية استخدمت سمتَين في النص البرمجي نفسه، ما كان يشكّل سلوكًا مضادًا للنموذج، ما أدّى إلى خفض الأداء. تم الإشارة إلى ذلك في العام الماضي، وحاولنا هذا العام معرفة ما إذا كان الوضع قد تحسّن. لقد شاركتُ أيضًا في مؤتمر ngConf ومؤتمر Reliable Dev Summit، حيث ركّزت على أداء الويب.

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

لذا، أنصح الجميع بكتابة المحتوى في أي مرحلة. حتى إذا كنت قد أكملت جزءًا واحدًا فقط من دورة تدريبية، فإنّك تتعلم من خلال تدوين المعلومات. قد تكون معلومة تعرّفت عليها في وقت ما مفيدة للآخرين الذين لا يعرفونها بعد. لست بحاجة إلى أن تكون خبيرًا. ستساعدك الكتابة في ذلك. وأي شخص في أي مرحلة من حياته المهنية.
Monika: من الأفضل متابعة الأشخاص الذين تعلموا شيئًا جديدًا مؤخرًا لأنّهم يعرفون كل ما عليهم معرفته. بعد أن تصبح خبيرًا، من الصعب تذكُّر كيف كانت تجربتك عندما كنت مبتدئًا. هل لديك أي نصيحة لشخص بدأ للتو في مجال تطوير المواقع الإلكترونية؟
نيشو: يسأل الكثير من الأشخاص عن الإطار الذي يجب اختياره عند البدء، ولكن أعتقد أنّ هذا السؤال غير صحيح. إنّ أيّ معلومات نحصل عليها في أيّ وقت من المفترض أن تكون مفيدة في مرحلة لاحقة أيضًا. أنصح أي شخص بالتخلي عن القيود والبدء باستخدام HTML أو JavaScript، لأنّ ذلك سيكون مفيدًا في المستقبل.
بعد ذلك، اغتنم أي فرصة تُتاح لك. حدث لي ذلك عندما عثرت على معلومات عن "منجم الويب" أثناء البحث عن المؤلفين. قلتُ لنفسي: "هذا أمر مثير للاهتمام، وقد يساعد الجميع في ما يتعلّق بالأداء". وهكذا أصبحتُ مسؤولة عن محتوى فصل JavaScript، وأمضيتُ ستة أشهر في كتابته. لذلك أعتقد أنّ الأمر يتعلق فقط بالاستفادة من الفرص والعمل بجد.
Monika: هل لديك أي توقّعات أو أفكار حول مستقبل تكنولوجيا الويب بشكل عام؟ ما هو الموضوع الرائج التالي؟ ما هي المنتجات التي ستشهد نموًا سريعًا؟
نيشو: أحب حقيقة أنّه يمكننا الآن تشغيل الخوادم داخل المتصفّحات، فهذا تطوّر كبير. على سبيل المثال، تمّ مؤخرًا تقديم إمكانية تشغيل Node.js من المتصفّح، في حين أنّه في السابق لم يكن بإمكاننا تشغيل أيّ شيء بدون تثبيت Node.js في أنظمتنا. يمكننا الآن إجراء أيّ إجراء من المتصفّح. وهذا تقدّم كبير في المنظومة المتكاملة للويب. وOMT هي اختصار لعبارة Off the Main Thread (خارج سلسلة المحادثات الرئيسية). سيتم أيضًا تحسين العمل على سلاسل المحادثات بشكل كبير. تتطوّر Web Assembly وتتيح للمطوّرين إجراء ذلك، وأعتقد أنّ هذا هو مستقبل منظومة الويب المتكاملة.