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

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

Monika Janota
Monika Janota

Nishu על הבמה.

Nishu Goel הוא מהנדס אינטרנט ידוע מהודו, מומחה פיתוח של Google ב-Angular ובטכנולוגיות אינטרנט, ו-MVP של 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 ועל טכנולוגיות אינטרנט.

Nishu ואנשים אחרים מ-ng-india.

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

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

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

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

מהדורה מודפסת של Web Almanac.

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

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

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

Monika: מהם התוכניות שלך לשנת 2022? יש משהו ספציפי שבו את/ה מתמקדים?

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

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

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

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

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

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

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

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

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

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