נישו גואל הוא מהנדס אינטרנט ידוע מהודו, מומחה למפתחי Google ל-Angular וטכנולוגיות אינטרנט. היא סיפרה לנו על המעורבות שלה בקהילה, על תוכניות הקריירה שלה ועל הדרכים הטובות ביותר ללמוד על פיתוח אתרים.
נישו גואל הוא מהנדס אינטרנט ידוע מהודו, מומחה מפתחים של Google ל-Angular וטכנולוגיות אינטרנט, Microsoft Most Valueable Professional. היא המחברת של Step by Step Angular Routing (BPB, 2019) ו-A Hands-on Guide to Angular (חינוך, 2021), וגם מחברת הפרק JavaScript Web Almanac 2021. נישו עובד כרגע ב-epilot GmbH בתור מהנדס פול סטאק. היא סיפרה לנו על המעורבות שלה בקהילה, על תוכניות הקריירה שלה ועל הדרכים הטובות ביותר ללמוד על פיתוח אתרים.
Monika: נתחיל בסיפור שלכם. מה נתן לך השראה להפוך למפתחים ולמלא תפקיד פעיל בקהילות המפתחים?
נישו: קיבלתי תואר ראשון במדעי המחשב, למדנו מבני נתונים וכאן התחילה העניין בתכנות. במהלך השנה השלישית של הנדסת תוכנה, נוצר קשר עם קהילת המפתחים בעקבות השתתפותי בתחרות Microsoft Imagine Cup Nationals, שבה הצגנו פתרונות באמצעות קוד. מטרת האפליקציה שפיתחנו הייתה להביא הזדמנויות חינוכיות לתלמידים מקומיים, בעיקר לנערות. פגשתי בקמפיין הזה כמה אנשים מעוררי השראה, גם המתחרים וגם המארגנים.
בשנת 2018, הקריירה המקצועית שלי זינקה והתחלתי לעבוד עם Angular. Angular הפכה לטכנולוגיה העיקרית שחיברה אותי לתוכנית GDE. בערך באותו זמן, התחלתי לכתוב פוסטים לבלוג וליצור תוכן בנושא שעליו עבדתי ולמדתי . Dhananjay Kumar עזר לי להתחיל במסע הזה ווידאתי שאני מתקדם כמו שצריך. המאמרים הראשונים שלי עסקו בעקרונות הבסיסיים של Angular. זמן קצר אחרי שהתחלתי לדבר באירועים - הראשון היה ngNepal, ועידת Angular של נפאל. בעקבות ההתפתחות הזו, לקהל הרחב יותר אנשים מדברים על טכנולוגיות Angular ואינטרנט.
Monika: מהי החוויה המקצועית שלך מבחינת הטכנולוגיה?
נישו: במהלך השנתיים הראשונות, כל התוכן היה קשור ל-Angular ולרכיבי אינטרנט. השתמשתי ב-Agular כדי לבנות את האינטרנט, אבל בקרוב החלטתי להרחיב את היכולות שלי ולחקור תחומים אחרים. לא רציתי להגביל את עצמי במקרה שאצטרך לעבור בין פרויקטים. כך התחלתי ליצור רכיבי אינטרנט ב-Agular לשימוש ב-frameworks אחרות.
הדבר הראשון שעשיתי היה ליצור רכיבי אינטרנט באמצעות Angular. פרסמתי אותו ב-NPM והשתמשתי בו כהדגמה בפרויקט React. דנתי בנושא הזה בחלק מהשיחות והמצגות שלי מאוחר יותר. כדי לבצע את המשימה הבאה צריך להשתמש ב-React וב-Typescript. עכשיו, כשעבדתי עם React, לא השתמשתי יותר ב-framework אחד, אלא באינטרנט באופן כללי. באותו רגע למדתי הרבה על האינטרנט, במיוחד על ביצועי האתר. אז צריך להתחיל לחשוב על המהירות שבה נטען רכיב התוכן הכי גדול (LCP) או על המהירות שבה נטען רכיב התוכן הראשון (FCP). זה אומר כמה זמן ייקח לאפליקציה להיטען, או מה יהיה הזמן המקסימלי עד לרינדור של הדף. ניסיתי לבחור שיטות מומלצות ולשפר את הביצועים של האפליקציות.
בגלל העניין הזה בביצועי אינטרנט, השתתפתי באלמנך באינטרנט וכתבתי את פרק JavaScript. Web Almanac הוא דוח שנתי על מצב האינטרנט באופן כללי — הוא מספק לנו מידע על האופן שבו אנשים משתמשים בתכונות שונות. בשנה שעברה נבדקו 8.6 מיליון אתרים, הנתונים נותחו והוצגו בדוח. הדוח כולל נתונים סטטיסטיים כמו השימוש במאפיינים async
ו-defer
ברכיב <script>
. כמה אתרים משתמשים בהם בצורה נכונה, כמה אתרים לא משתמשים בהם בכלל וכמה שיפרו אותם בהשוואה לשנת 2020. בדוח האחרון של אלמנך (Web Almanac) צוין שכ-35% מהאתרים השתמשו בשני מאפיינים באותו סקריפט, דבר שנוגד את הדפוס, והירידה בביצועים. העובדה הזו השתפרה בשנה שעברה, והשנה ניסינו לבדוק אם המצב השתפר. ודיברתי גם ב-ngConf וב-אמינות Dev Summit, שבה התמקדתי בביצועים באינטרנט.
Monika: אתם גם מעורבים מאוד בתרומה לקהילה. לאחרונה עבדת עם ארגון לא ממשלתי אוגנדהי YIYA, איך זה התחיל ומה הייתה הנקודה העיקרית של שיתוף הפעולה הזה?
נישו: התהליך התחיל בכך שצוות GDE הודיע לנו על ההזדמנות להתנדבות ב-YIYA. הארגון הלא-ממשלתי באוגנדה חיפש מהנדסים שיעזרו לו בהכנת התוכן או בתכונות הטכניות. התוכנית נועדה להעצים ילדים בגיל בית ספר באוגנדה ולהציע להם הזדמנויות חינוכיות באמצעות הטכנולוגיות הזמינות באופן מקומי, לא באמצעות מחשבים או ספרי לימוד, אלא טלפונים ומכשירי רדיו בסיסיים. הילדים מחייגים מספר מסוים, מקבלים סדרה של מידע, מחייגים למספר אחר כדי לקבל תובנות נוספות וכו'. השימוש בהם הפך להיות שימושי עוד יותר בתקופת המגפה.
תמיד הייתי מעורבת בקהילה ומנהלת את המטרות של פיתוח בר קיימא, ולכן החלטתי ליצור קשר. אחרי פגישה עם הצוות של YIYA, הצעתי את העזרה שלי בסקריפטים של Python או בכל הבאגים שהם הופיעו בהם, אם היו בעיות בפורטל. עבדנו ביחד במשך פרק זמן קצר.
Monika: מה התוכניות שלכם לשנת 2022? האם יש משהו שמעניין אותך במיוחד?
נישו: אני מחליף עבודות ועובר למדינה אחרת. אני אעבוד באינטרנט באופן כללי, ואשפר את ביצועי האתר, וגם בקצה העורפי אשתמש ב-Golang. אמשיך להתמקד בנושא של ביצועי האינטרנט, כי הוא מעניין מאוד ומורכב, ויש בו הרבה הבנה ואופטימיזציה. גם עכשיו, אחרי שהקדשתי הרבה מהזמן שלי, יש עדיין כל כך הרבה ללמוד. לדוגמה, הייתי רוצה להבין איך שימוש ב-CDN למשאבי התמונות שלי יעזור לי להאיץ את האפליקציה. אני רוצה להיות מומחית לביצועי אתרים – אני מגיעה אליהם בהדרגה, אני רוצה להאמין :)
Monika ציינתם שהתחלתם לכתוב בשלב שבו לא הייתם מומחים, ופשוט כתבתם את מה שלמדתם. מה אתם יכולים לתת למפתחים חדשים שירצו להצטרף אליה ולהרגיש שאין להם מה לשתף?
נישו: כך בדיוק הרגשתי כשהתחלתי לכתוב. חשבתי שאולי לא כדאי לי לפרסם את זה? אולי זה פשוט לא נכון? דאגתי שהכתיבה שלי לא תעזור לקוראים. אבל הדבר החשוב היה שהכתיבה שלי עזרה לי. אחרי זמן מה שכחתי דברים שהיו כתובים, ואז חוזרתי למשהו שכתבתי קודם. זה רעיון מעולה לכתוב דברים.
אז אני מציע לכולם — רק לכתוב, בכל שלב. גם אם סיימתם רק חלק אחד בקורס שאתם עוברים – כותבים את החלק החדש כדי ללמוד אותו. פיסת מידע שידעת בשלב מסוים יכולה להיות שימושית לאחרים שעדיין לא יודעים זאת. לא צריך להיות מומחה. הכתיבה תעזור לך. וכל אחד, בכל שלב בקריירה שלהם.
Monika: מומלץ לעקוב אחרי אנשים שפשוט למדו משהו כי הם יודעים את כל הדברים שהם היו צריכים לגלות. כמומחים, קשה לזכור איך הרגישו כשהייתם חדשים. יש לך עצות למישהו שרק מתחיל בפיתוח אתרים?
נישו: אנשים רבים שואלים באיזו מסגרת כדאי לבחור כשהם מתחילים, אבל נראה לי שזו לא השאלה הנכונה. מה שאנחנו לומדים בכל שלב צריך להיות שימושי גם בשלב מאוחר יותר. אני ממליץ לכל אחד לבטל את המגבלות האלה ולהתחיל להשתמש ב-HTML או ב-JavaScript, שיהיו רווחיים בעתיד.
לאחר מכן, נצלו כל הזדמנות שתהיה לכם. זה קרה לי כשנתקלתי במידע על אלמנך באינטרנט כשחיפשתי מחברים. חשבתי לעצמי, "זה מעניין, זה יכול לעזור לכולם בהיבט הביצועים של". כך הפכתי למנהל/ת התוכן של פרק JavaScript, והאזנתי לו במשך שישה חודשים. אז אני חושב שצריך לנצל את ההזדמנויות ולעבוד קשה.
Monika: האם יש לך חיזויים או רעיונות כלשהם לגבי העתיד של טכנולוגיית האינטרנט באופן כללי? מה יהיה הנושא החם הבא? מה יתפתח במהירות?
נישו: אני אוהב את העובדה שאנחנו יכולים להריץ שרתים בדפדפנים עכשיו, וזו התקדמות אדירה. לדוגמה, לאחרונה התחלנו להריץ את Node.js מהדפדפן. במקביל, בעבר לא יכולנו להריץ שום דבר בלי ש-Node.js יהיה מותקן במערכות שלנו. עכשיו אנחנו יכולים לעשות הכול מהדפדפן. זהו צעד נוסף קדימה בסביבה העסקית של האינטרנט. ו-OMT — מושבת ל-thread הראשי. גם העבודה על השרשורים תשתפר באופן משמעותי. טכנולוגיית Web Assembly מתפתחת ומאפשרת למפתחים לעשות זאת, ואני חושבת שזה העתיד של הסביבה העסקית של האינטרנט.