"نيشو غويل" هو مهندس ويب شهير من الهند، وخبير مطوّر برامج في Google في مجال تقنيات Angular وتقنيات الويب. أخبرتنا عن مشاركتها في المجتمع وخططها المهنية وأفضل الطرق لتعلم تطوير الويب.
"نيشو غويل" هو مهندس ويب شهير من الهند، وخبير مطوّر برامج في Google في مجال تقنيات Angular وتقنيات الويب، والمهنيين الأكثر قيمة في Microsoft. وهي مؤلفة كتاب Step byStep Angular route (BPB، 2019) وA دليل عملي حول Angular (تعليمي، عام 2021) بالإضافة إلى مؤلفة فصل JavaScript لعام 2021 في Web Almanac. يعمل "نيشو" حاليًا في شركة epilot GmbH كمهندس لحِزم التطبيقات الكاملة. أخبرتنا عن مشاركتها في المجتمع وخططها المهنية وأفضل الطرق لتعلم تطوير الويب.
Monika: لنبدأ بقصتك. ما الذي دفعك لتصبح مطوّر برامج وتتولى دورًا نشطًا في منتديات مطوّري البرامج؟
نيشو: حصلت على درجة البكالوريوس في علوم الكمبيوتر، ودرسنا هياكل البيانات، وهنا بدأ الاهتمام بالبرمجة. خلال العام الثالث في مجال الهندسة، تم إنشاء اتصال بين منتدى المطوّرين من خلال مشاركتي في مسابقة Microsoft Imagine Cup Nationals حيث قدّمنا حلولاً من خلال الرموز البرمجية. كان الهدف من التطبيق الذي صمّمناه هو توفير الفرص التعليمية للطلاب المحليين، وخاصةً الفتيات. لقد قابلتُ أشخاصًا ملهمين للغاية، من متسابقين ومنظّمين خلال هذه الرحلة.
في عام 2018، انطلقت مسيرتي المهنية، وبدأت العمل لدى Angular. أصبحت Angular التكنولوجيا الأساسية التي وجّهتني إلى برنامج GDE. وفي الوقت نفسه تقريبًا، بدأت في كتابة مشاركات المدونة وإنشاء محتوى حول الموضوع الذي كنت أعمل عليه وأتعلمه . ساعدني "دانانجاي كومار" في البدء في هذه الرحلة وحرص على إبقاءي على المسار الصحيح. تناولت مقالاتي الأولى أساسيات Angular. بعد فترة وجيزة بدأت التحدث في الفعاليات، وكان أول اجتماع في ngNepal، وهو مؤتمر Angular في نيبال. أدّى ذلك إلى تلقّي دعوات متحدّثة أكثر حول تكنولوجيا Angular وتقنيات الويب.
Monika: ما هي خبرتك المهنية من الناحية التكنولوجية؟
نيشو: كان الأمر متعلقًا بمكوّنات الويب Angular والويب في العامَين الأوّلَين. كنت أستخدم Angular لإنشاء الويب، ولكن سرعان ما قررت تجاوز ذلك واستكشاف مجالات أخرى. لم أرغب في تقييد نفسي في حال اضطررت إلى تبديل المشروعات. هذه هي الطريقة التي بدأت بها في إنشاء مكونات ويب في Angular لاستخدامها في أطر عمل أخرى.
أول شيء فعلته هو إنشاء مكونات ويب باستخدام Angular. لقد نشرته على npm واستخدمته كعرض توضيحي في مشروع React. لقد ناقشتُ هذا الموضوع خلال بعض محادثاتي وعروضي التقديمية لاحقًا. وظيفتي التالية هي استخدام React وTypescript. بما أنني كنت أعمل باستخدام React، لم أعُد أستخدم إطار عمل واحدًا، بل استخدم الويب بشكل عام. وفي هذه اللحظة، تعلّمت الكثير عن الويب، لا سيما أداء الويب. في هذه اللحظة، فكّرت في سرعة عرض أكبر محتوى مرئي (LCP) أو سرعة عرض أكبر محتوى مرئي (FCP)، أي مقدار الوقت الذي سيستغرقه تحميل تطبيقك أو الحدّ الأقصى لمدة عرض الصفحة. كنت أعمل على اختيار أفضل الممارسات وتحسين أداء التطبيقات.
وبسبب اهتمامي بأداء الويب، شاركتُ في "تقويم الويب" وكتبتُ فصل JavaScript. تقويم الويب هو تقرير سنوي حول حالة الويب بشكل عام، ويخبرنا بكيفية استخدام الأشخاص للميزات المختلفة. في العام الماضي، تم فحص 8.6 مليون موقع إلكتروني، وتحليل البيانات وتقديمها في التقرير. يتضمّن التقرير إحصاءات مثل استخدام السمتَين async
وdefer
في العنصر <script>
. عدد المواقع الإلكترونية التي تستخدم هذه الأدوات بشكل صحيح، وعدد المواقع الإلكترونية التي لا تستخدم هذه الأدوات على الإطلاق، وعدد المواقع الإلكترونية التي تحسّنت تلك الميزات مقارنةً بالعام 2020 أشار تقرير "تقويم الويب" الأخير إلى أنّ حوالي 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: خارج سلسلة التعليمات الرئيسية. كذلك، سيتحسن العمل على سلاسل المحادثات بشكل كبير. تتطور Web Assembly وتمكِّن المطورين من القيام بذلك، وأعتقد أن هذا هو مستقبل المنظومة المتكاملة للويب.