רגע השיא של קהילת GDE: נישו גואל

נישו גואל הוא מהנדס אינטרנט ידוע מהודו, מומחה מפתחי Google לטכנולוגיות Angular וטכנולוגיות אינטרנט. היא סיפרה לנו על המעורבות שלה בקהילה, על תוכניות הקריירה שלה ועל הדרכים הטובות ביותר ללמוד על פיתוח אתרים.

מוניקה ז'נוטה
מוניקה ג'נוטה

נישו על במה.

נישו גואל הוא מהנדס אינטרנט ידוע מהודו, מומחה מפתחי Google לטכנולוגיות Angular ו-אינטרנט, Microsoft Everyuable Professional. היא המחברת של Step by Step Angular Routing (BPB, 2019) ושל A Hands-on Guide to Angular (Educative, 2021), וכן המחברת של הפרק Web Almanac 2021 JavaScript. נישו עובד כרגע ב-epilot GmbH כמהנדס סטאק מלא. היא סיפרה לנו על המעורבות שלה בקהילה, על תוכניות הקריירה שלה ועל הדרכים הטובות ביותר ללמוד על פיתוח אתרים.

מוניקה: נתחיל בסיפור. מה גרם לך להפוך למפתח ולמלא תפקיד פעיל בקהילות מפתח?

נישו: קיבלתי תואר ראשון במדעי המחשב, למדנו על מבני נתונים ושם העניין בתכנות התחיל. במהלך שנת ההנדסה השלישית נוצר חיבור עם קהילת המפתחים בעקבות השתתפותי בתחרות Microsoft Imagine Cup Nationals, שבה הצגנו פתרונות באמצעות קוד. הרעיון של האפליקציה שפיתחנו היה לספק הזדמנויות חינוכיות לתלמידים מקומיים, ובעיקר לבנות. במסע הזה פגשתי כמה אנשים מעוררי השראה, גם מתחרים וגם מארגנים.

בשנת 2018 הקריירה המקצועית שלי השתפרה, והתחלתי לעבוד ב-Angular. Angular הפכה לטכנולוגיה העיקרית שחיברה אותי לתוכנית GDE. בערך באותו זמן, התחלתי לכתוב פוסטים בבלוגים וליצור תוכן בנושא שלמדתי ולמדתי . דננג'יי קומאר עזרה לי להתחיל את המסע הזה והבטיחה שנמשיך להתקדם. המאמרים הראשונים שלי עסקו ביסודות של Angular. זמן קצר אחרי שהתחלתי לדבר באירועים, האירוע הראשון היה ngNepal, הוועידת הזוויתית של נפאל. בעקבות זאת נשלחו הזמנות נוספות לגבי Angular וטכנולוגיות אינטרנט.

Nishu ואנשים נוספים מ-ng-india.

מוניקה: מה הניסיון המקצועי שלך מבחינת הטכנולוגיה?

Nishu: בשנתיים הראשונות, הכול עסק ב-Angular וברכיבי אינטרנט. השתמשתי ב-Angular כדי לבנות את האינטרנט, אבל מהר מאוד החלטתי להרחיב את הנושא ולחקור תחומים אחרים. לא רציתי להגביל את עצמי למקרה שאצטרך לעבור בין פרויקטים. כך התחלתי ליצור רכיבי אינטרנט ב-Angular לשימוש ב-frameworks אחרות.

הדבר הראשון שעשיתי היה ליצור רכיבי אינטרנט באמצעות Angular. פרסמתי אותו ב-NPM והשתמשתי בו כהדגמה בפרויקט React. דנתי בנושא הזה בחלק מהדיונים והמצגות מאוחר יותר. המשימה הבאה שלי נדרשת באמצעות React ו-Typescript. עכשיו, כשעבדתי עם React, לא השתמשתי יותר רק ב-framework אחד, אלא באינטרנט באופן כללי. באותו רגע למדתי הרבה על האינטרנט, במיוחד על הביצועים באינטרנט. זה היה הזמן שבו הייתי צריך לחשוב על הנתונים של המהירות שבה נטען רכיב התוכן הכי גדול (LCP) או על המהירות שבה נטען רכיב התוכן (FCP), והמשמעות היא כמה זמן ייקח לאפליקציה להיטען או מה יהיה משך הזמן המקסימלי לרינדור הדף. פעלתי לבחירת שיטות עבודה מומלצות ושיפור הביצועים של האפליקציות.

בגלל העניין הזה בביצועי אינטרנט, מעורבת באלמנך באינטרנט וכתבתי את פרק JavaScript. דוח האינטרנט השנתי הוא דוח שנתי על המצב באינטרנט באופן כללי – הוא מראה איך אנשים משתמשים בתכונות שונות. בשנה שעברה נבדקו 8.6 מיליון אתרים, הנתונים נותחו והוצגו בדוח. הדוח כולל נתונים סטטיסטיים כמו השימוש במאפיינים async ו-defer ברכיב <script>. כמה אתרים משתמשים בהם נכון, כמה מהם לא משתמשים בהם בכלל וכמה שיפרו אותם בהשוואה לשנת 2020. בדוח האחרון של אלמנך באינטרנט צוין שכ-35% מהאתרים השתמשו בשני מאפיינים באותו סקריפט, שמנוגד לדפוס מסוים, וכתוצאה מכך הביצועים ירדו. הדבר ציינו בשנה שעברה, והשנה ניסינו לבדוק אם המצב השתפר. הרצאה גם ב-ngConf ובכנס ה-Resme שקשורים למפתחים, שם התמקדתי בביצועים של האינטרנט.

מהדורה מודפסת של אלמנאק האינטרנט.

מוניקה: אתם גם מעורבים מאוד בתרומה לקהילה. לאחרונה אתם מתנדבים מטעם ה-YIYA באוגנדה – איך זה התחיל ומה היה המטרה העיקרית של שיתוף הפעולה הזה?

נישו: זה התחיל כשהצוות של GDE הודיע לנו על הזדמנות להתנדב עם YIYA. בארגון לא ממשלתי באוגנדה חיפשו מהנדסים שיעזרו להם בהכנת התוכן או בתכונות הטכניות. מטרת התוכנית היא להעצים ילדים בגיל בית הספר באוגנדה ולהציע להם הזדמנויות חינוך באמצעות הטכנולוגיות הזמינות באופן מקומי - לא מחשבים או ספרי לימוד, אלא טלפונים ומכשירי רדיו בסיסיים. הילדים היו מחייגים מספר מסוים ומקבלים קבוצת מידע, מחייגים למספר אחר כדי לקבל תובנות נוספות, וכן הלאה. הוא הפך למועיל עוד יותר בתקופת המגפה.

מאז ומתמיד הייתה מעורבת בקהילה ולמטרות של פיתוח בר קיימא, החלטתי לפנות. אחרי פגישה עם הצוות של YIYA הצעתי עזרה בקשר לסקריפטים של Python או לבאגים שהם מצאו, כמו גם בעיות בפורטל. עבדנו ביחד במשך זמן קצר.

מוניקה: מה התוכניות שלך ל-2022? האם יש משהו מסוים שחשוב לך להתמקד בו?

נישו: אני מחליף עבודה ועובר למדינה אחרת. אעבוד באינטרנט באופן כללי, כדי לשפר את ביצועי האתר וגם בקצה העורפי בעזרת Golang. אני אמשיך להתמקד בתחום הביצועים באינטרנט מאחר שהוא מעניין ומורכב מאוד, ויש הרבה דברים שצריך להבין ולבצע בהם אופטימיזציה. גם עכשיו, אחרי שהשקעתי הרבה זמן פנוי, יש עדיין כל כך הרבה מה ללמוד. לדוגמה, אשמח להבין איך השימוש ב-CDN עבור משאבי התמונות שלי יעזור לי להפוך את האפליקציה למהירה עוד יותר. אני רוצה להפוך למומחה בביצועים באינטרנט — אני מגיע לזה בהדרגה, אני מאמין :)

מוניקה: הזכרת כשהתחלת לכתוב בשלב שלא היית מומחית, פשוט כתבת את מה שלמדת. מה תהיה העצה שלך למפתחים חדשים שנכנסים ומרגישים שאין להם משהו לשתף?

נישו: זה בדיוק הרגשתי כשהתחלתי לכתוב. חשבתי שאולי לא כדאי לי לפרסם את זה? אולי זה פשוט שגוי? חששתי שהכתיבה שלי לא תעזור לקוראים. אבל הדבר החשוב ביותר היה שהכתיבה שלי עזרה לי. הייתי שוכח דברים אחרי זמן מה ואז חוזר למשהו שכתבתי קודם. זה רעיון מעולה לכתוב דברים.

הספר Angular Routing על שולחן.

אז אני מציעה לכולם - פשוט לכתוב, בכל שלב. גם אם סיימתם רק חלק אחד מהקורס שאתם עוברים – אתם לומדים על ידי כתיבתו. פיסת מידע שנודע לך בשלב מסוים עשויה להיות שימושית לאנשים אחרים שעדיין לא יודעים אותה. אתם לא צריכים להיות מומחים. הכתיבה תעזור לכם. כל אחד, בכל שלב בקריירה.

מוניקה: מומלץ לעקוב אחרי אנשים שבדיוק למדו משהו, כי הם יודעים את כל הדברים שהם היו צריכים להבין. כמומחים, קשה להיזכר איך זה היה כשהיית חדש. ויש לך עצות למישהו שרק מתחיל בפיתוח אתרים?

נישו: אנשים רבים שואלים באיזו מסגרת כדאי להם לבחור כשהם מתחילים, אבל לדעתי זו לא השאלה הנכונה. מה שאנחנו לומדים בכל שלב צריך להיות מועיל גם בשלב מאוחר יותר. אני ממליץ לכל אחד להפסיק להשתמש במגבלות ולהתחיל עם HTML או JavaScript, וזה יהיה רווחי בעתיד.

ואחר כך נצלו כל הזדמנות שמגיעה לכם. זה קרה לי כשגיליתי מידע על אלמנך באינטרנט בחיפוש אחר מחברים. פשוט חשבתי, "זה מעניין, זה יכול לעזור לכולם בהיבט של הביצועים". כך הפכתי למנהל תוכן בפרק על JavaScript, והשקעתי שישה חודשים בכתיבה שלו. אז אני חושב שצריך פשוט לנצל את ההזדמנויות ולעבוד קשה.

מוניקה: האם יש לכם חיזויים או רעיונות לגבי העתיד של טכנולוגיית האינטרנט באופן כללי? מה נהיה הנושא החם הבא? מה יגדל מהר?

ניישו: אני אוהבת את העובדה שעכשיו אנחנו יכולים להפעיל שרתים בתוך דפדפנים, וזהו קידום אדיר. לדוגמה, לאחרונה התחלנו להשתמש ב-Node.js מהדפדפן, ובעבר לא יכולנו להריץ שום דבר בלי ש-Node.js מותקן במערכות שלנו. עכשיו אנחנו יכולים לעשות כל דבר מהדפדפן. מדובר בצעד גדול קדימה בסביבה העסקית באינטרנט. וה-OMT – מחוץ לשרשור הראשי. גם העבודה על השרשורים תשתפר. Web Assembly מתקדם ומאפשר למפתחים לעשות את זה, ואני חושב שזה העתיד של הסביבה העסקית של האינטרנט.