ไฮไลต์ของชุมชน GDE: Nishu Goel

Nishu Goel เป็นวิศวกรเว็บชื่อดังจากอินเดีย ผู้เชี่ยวชาญนักพัฒนาซอฟต์แวร์ Google ในด้านเทคโนโลยี Angular และเทคโนโลยีเว็บ เธอเล่าให้เราฟังเกี่ยวกับการมีส่วนร่วมของชุมชน แผนอาชีพ และวิธีที่ดีที่สุดในการเรียนรู้การพัฒนาเว็บ

โมนิกา จาโนตา
Monika Janota

Nishu บนเวที

Nishu Goel เป็นวิศวกรเว็บชื่อดังจากอินเดีย ผู้เชี่ยวชาญนักพัฒนาซอฟต์แวร์ Google สำหรับ Angular และเทคโนโลยีเว็บจาก Microsoft Most Valuable Professional อีกทั้งยังเป็นผู้เขียนหนังสือ Step by Step Angular Routing (BPB, 2019) และ A Hands-on Guide to Angular (Educative, 2021) รวมถึงเป็นผู้เขียนส่วน JavaScript ของ Web Almanac 2021 ด้วย ปัจจุบัน Nishu ทำงานที่ epilot GmbH ในตำแหน่งวิศวกรสแต็กเต็มรูปแบบ เธอเล่าให้เราฟังเกี่ยวกับการมีส่วนร่วมของชุมชน แผนอาชีพ และวิธีที่ดีที่สุดในการเรียนรู้การพัฒนาเว็บ

Monika: มาเริ่มที่เรื่องราวของคุณกัน อะไรเป็นแรงบันดาลใจให้คุณมาเป็นนักพัฒนาซอฟต์แวร์และมีบทบาทจริงในชุมชนนักพัฒนาซอฟต์แวร์

Nishu: ฉันจบปริญญาตรีสาขาวิทยาการคอมพิวเตอร์ เราศึกษาเรื่องโครงสร้างข้อมูล และนั่นคือจุดเริ่มต้นของความสนใจในการเขียนโปรแกรม ในช่วงปีที่ 3 ของวิศวกรรม เขาได้พบกับชุมชนนักพัฒนาซอฟต์แวร์จากการเข้าร่วมการแข่งขัน Microsoft Imagine Cup Nationals ที่เราได้นำเสนอวิธีแก้ปัญหาผ่านการเขียนโค้ด แนวคิดของแอปพลิเคชันที่เราสร้างขึ้นคือการมอบโอกาสทางการศึกษาแก่นักเรียนในพื้นที่ โดยเฉพาะเด็กผู้หญิง ผมได้พบกับคนที่สร้างแรงบันดาลใจมากๆ ทั้งผู้เข้าแข่งขันและผู้จัดในการเดินทางครั้งนี้

อาชีพการงานของฉันเริ่มต้นขึ้นในปี 2018 และได้เริ่มทำงานกับ Angular Angular ได้กลายเป็นเทคโนโลยีหลักที่เชื่อมต่อฉันกับโปรแกรม GDE ในช่วงเวลาเดียวกัน ฉันก็เริ่มเขียนบล็อกโพสต์และสร้างเนื้อหาในหัวข้อที่กำลังเรียนรู้และเรียนรู้อยู่ Dhananjay Kumar ช่วยฉันเริ่มต้นการเดินทางครั้งนี้และทำให้ฉันเดินตามเส้นทางอยู่เสมอ บทความแรกของผมพูดถึงพื้นฐานของ Angular ไม่นานหลังจากที่ฉันเริ่มพูดในงานอีเวนต์ คนแรกคือ ngNepal ซึ่งก็คือการประชุม Angular Summit ของเนปาล ซึ่งทำให้มีการเชิญชวนมาพูดเกี่ยวกับเทคโนโลยีเว็บและ Angular มากขึ้น

Nishu และคนอื่นๆ จาก ng-india

Monika: ประสบการณ์การทำงานด้านเทคโนโลยีของคุณเป็นอย่างไร

Nishu: ในช่วง 2 ปีแรก ทั้งหมดนี้เกี่ยวข้องกับ Angular และคอมโพเนนต์เว็บ ตอนนั้นผมใช้ Angular ในการสร้างเว็บ แต่ไม่นานผมตัดสินใจใช้มากกว่านี้และสำรวจสาขาอื่นๆ ฉันไม่ต้องการจำกัดตัวเองหากจะต้องเปลี่ยนโปรเจ็กต์ ผมเริ่มสร้างคอมโพเนนต์ของเว็บใน Angular เพื่อใช้ในเฟรมเวิร์กอื่น

สิ่งแรกที่ผมทำคือสร้างคอมโพเนนต์เว็บโดยใช้ Angular ฉันเผยแพร่ไปยัง npm และใช้เป็นการสาธิตในโปรเจ็กต์ React เราได้กล่าวถึงเรื่องนี้ในระหว่างการพูดคุยและการนำเสนอในภายหลัง งานถัดไปของฉันต้องใช้ React และ Typescript ตอนนี้เนื่องจากผมทำงานกับ React ผมไม่ใช่แค่ใช้เฟรมเวิร์กเดียวอีกต่อไป แต่รวมถึงเว็บด้วย ตอนนั้นฉันได้เรียนรู้เกี่ยวกับเว็บมากมาย โดยเฉพาะประสิทธิภาพของเว็บ ผมจึงต้องเริ่มคิดถึง Largest Contenful Paint (LCP) หรือ First Contentful Paint (FCP) ซึ่งหมายถึงระยะเวลาที่ใช้ในการโหลดแอปพลิเคชันหรือระยะเวลาสูงสุดที่หน้าเว็บจะแสดงผล ฉันได้พยายามเลือกแนวทางปฏิบัติแนะนำและปรับปรุงประสิทธิภาพแอปพลิเคชัน

และเพราะความสนใจในประสิทธิภาพเว็บ ฉันจึงได้เข้าไปมีส่วนร่วมในเว็บ Almanac และเขียนบทของ JavaScript Web Almanac เป็นรายงานประจำปีเกี่ยวกับสถานะของเว็บโดยทั่วไป ซึ่งจะบอกให้เราทราบว่าผู้คนใช้ฟีเจอร์ต่างๆ อย่างไร ในปีที่ผ่านมา มีเว็บไซต์ 8.6 ล้านเว็บไซต์ที่ผ่านการคัดกรอง และได้รับการวิเคราะห์และนำเสนอในรายงาน รายงานนี้มีสถิติ เช่น การใช้แอตทริบิวต์ async และ defer ในองค์ประกอบ <script> มีกี่เว็บไซต์ที่ใช้เว็บไซต์อย่างถูกต้อง กี่เว็บไซต์ที่ไม่ได้ใช้สิ่งนั้นเลย และเว็บไซต์ที่ได้รับการปรับปรุงเมื่อเทียบกับปี 2020 รายงานภาพรวมเว็บล่าสุดระบุว่า 35% ของเว็บไซต์ใช้แอตทริบิวต์ 2 รายการในสคริปต์เดียวกัน ซึ่งเป็นรูปแบบที่ต่อต้าน ทำให้ประสิทธิภาพลดลง ซึ่งเราได้อธิบายไว้เมื่อปีที่แล้ว และในปีนี้เราได้พยายามดูว่าสถานการณ์จะดีขึ้นไหม นอกจากนี้ผมยังได้เป็นวิทยากรที่ ngConf และ Reliable Dev Summit ซึ่งผมเน้นเรื่องประสิทธิภาพของเว็บ

ฉบับตีพิมพ์ของ Web Almanac

Monika: คุณยังมีส่วนร่วมมากในการตอบแทนชุมชน เมื่อเร็วๆ นี้คุณได้เป็นอาสาสมัครกับ NGO YIYA ในยูกันดา สิ่งนี้เริ่มต้นอย่างไรและอะไรคือจุดประสงค์หลักของการร่วมมือดังกล่าว

Nishu: เริ่มจากทีม GDE ที่แจ้งให้เราทราบเกี่ยวกับโอกาสในการเป็นอาสาสมัครกับ YIYA NGO ของยูกันดาต้องการวิศวกรมาช่วยเตรียมเนื้อหาหรือฟีเจอร์ทางเทคนิค โปรแกรมนี้มีจุดมุ่งหมายเพื่อส่งเสริมศักยภาพให้เด็กวัยเรียนในยูกันดาและมอบโอกาสทางการศึกษาโดยใช้เทคโนโลยีที่มีอยู่ในพื้นที่ ไม่ใช่คอมพิวเตอร์หรือตำราเรียน แต่ใช้โทรศัพท์และวิทยุแบบพื้นฐาน บุตรหลานจะต้องกดหมายเลขที่ต้องการและรับชุดข้อมูล โทรหาหมายเลขอื่นเพื่อดูข้อมูลเชิงลึกเพิ่มเติม และอื่นๆ ซึ่งมีประโยชน์มากขึ้นในช่วงการแพร่ระบาด

และเนื่องจากผมได้มีส่วนร่วมกับชุมชนและเป้าหมายด้านการพัฒนาที่ยั่งยืนมาโดยตลอด ผมจึงตัดสินใจติดต่อมา หลังจากการประชุมกับทีม YIYA ฉันได้ให้ความช่วยเหลือเกี่ยวกับสคริปต์ Python หรือข้อบกพร่องที่พบหรือปัญหาเกี่ยวกับพอร์ทัล เราทำงานร่วมกันเป็นระยะเวลาสั้นๆ

Monika: แผนของคุณในปี 2022 มีอะไรบ้าง คุณกําลังมุ่งเน้นเรื่องใดเป็นพิเศษหรือไม่

Nishu: ฉันจะย้ายงานและย้ายไปอยู่ประเทศอื่น ผมจะทำงานบนเว็บทั่วไป ปรับปรุงประสิทธิภาพของเว็บไซต์ และในส่วนแบ็กเอนด์โดยใช้ Golang ฉันจะมุ่งความสนใจไปที่ประสิทธิภาพเว็บเป็นหลักเนื่องจากเป็นเรื่องที่น่าสนใจและซับซ้อนมาก รวมถึงมีหลายสิ่งที่ต้องทำความเข้าใจและเพิ่มประสิทธิภาพ แม้จะทุ่มเทเวลาส่วนใหญ่ไปกับเรื่องนั้นแล้ว แต่ก็ยังมีเรื่องให้เรียนรู้อีกมากมาย ตัวอย่างเช่น ฉันอยากเข้าใจว่าการใช้ CDN สำหรับทรัพยากรรูปภาพจะช่วยให้ฉันทำให้แอปเร็วขึ้นได้อย่างไร ผมอยากเป็นผู้เชี่ยวชาญด้านประสิทธิภาพเว็บ ผมจะค่อยๆ ดำเนินการไป และผมเชื่อว่า :)

Monika: คุณพูดถึงการเริ่มเขียนในช่วงที่คุณไม่ใช่ผู้เชี่ยวชาญ คุณเพียงแค่เขียนสิ่งที่กำลังเรียนรู้ อยากแนะนำอะไรให้แก่นักพัฒนาซอฟต์แวร์รายใหม่ที่เพิ่งผ่านมาและรู้สึกว่าไม่มีอะไรจะแชร์ข้อมูลเลย

Nishu: รู้สึกอย่างนั้นตอนเริ่มเขียน ฉันเลยคิดว่าไม่ควรเอาเรื่องแบบนี้ อาจผิดพลาดได้ใช่ไหม ฉันกังวลว่างานเขียนของฉันจะไม่มีประโยชน์ต่อผู้อ่าน แต่สิ่งสำคัญคืองานเขียนของฉันช่วยฉันได้ ฉันจะลืมสิ่งต่างๆ หลังจากผ่านไประยะหนึ่ง แล้วกลับมาทำสิ่งที่เขียนไว้ก่อนหน้านี้ได้ การจดบันทึกเป็นความคิดที่ดี

หนังสือ Angular Routing บนโต๊ะ

ฉันจึงแนะนำให้ทุกคนเขียน ในขั้นตอนใดก็ได้ แม้ว่าคุณจะเรียนจบเพียงส่วนเดียวของหลักสูตรที่กำลังเรียนอยู่ คุณก็อาจเรียนรู้ได้ด้วยการจดบันทึก ข้อมูลหนึ่งที่คุณได้ทราบ ณ จุดหนึ่งอาจมีประโยชน์สำหรับผู้อื่นที่ยังไม่ทราบ คุณไม่จำเป็นต้องเป็นผู้เชี่ยวชาญ การเขียนจะช่วยคุณได้ ในทุกๆ ช่วงของเส้นทางอาชีพ

โมนิกา: การติดตามผู้ที่เพิ่งได้เรียนรู้บางอย่างเป็นวิธีที่ดีที่สุดเพราะพวกเขารู้ทุกสิ่งทุกอย่างที่ต้องคิด พอเป็นผู้เชี่ยวชาญแล้ว ก็ยากที่จะจำได้ว่าตอนที่เพิ่งเรียนจบใหม่ๆ นั้นเป็นอย่างไร แล้วมีคำแนะนำสำหรับผู้ที่เพิ่งเริ่มต้นการพัฒนาเว็บบ้างไหม

Nishu: หลายคนถามว่าควรเลือกเฟรมเวิร์กใดเมื่อเริ่มต้น แต่ฉันคิดว่านั่นไม่ใช่คำถามที่ถูกต้อง ไม่ว่าเราเรียนรู้อะไรอยู่ ก็จะมีประโยชน์ในภายหลังด้วย ผมแนะนำให้ทุกคนยกเลิกข้อจำกัดนี้โดยเริ่มจาก HTML หรือ JavaScript ซึ่งจะทำกำไรในอนาคต

แล้วใช้ประโยชน์จากโอกาสนั้น เรื่องนี้เกิดขึ้นตอนที่ผมเจอข้อมูลเกี่ยวกับ Web Almanac ที่ตามหาผู้เขียน ฉันแค่คิดว่า "ไม่เป็นไร วิธีนี้น่าจะช่วยทุกคนเกี่ยวกับประสิทธิภาพการทำงานได้" ผมเป็นหัวหน้าฝ่ายเนื้อหาสำหรับบท JavaScript และใช้เวลาเขียนถึง 6 เดือน ดังนั้น ผมคิดว่าการคว้าโอกาสไว้ แล้วทำงานอย่างหนักเพียงอย่างเดียว

Monika: คุณมีการคาดคะเนหรือแนวคิดเกี่ยวกับอนาคตของเทคโนโลยีเว็บโดยทั่วไปไหม เรื่องราวที่กำลังมาแรงถัดไปคืออะไร สิ่งใดจะเติบโตอย่างรวดเร็ว

Nishu: ฉันชอบที่ตอนนี้เราเรียกใช้เซิร์ฟเวอร์ในเบราว์เซอร์ได้ ซึ่งเป็นความก้าวหน้าที่ยอดเยี่ยม ตัวอย่างเช่น เมื่อเร็วๆ นี้เราได้เปิดตัว Node.js จากเบราว์เซอร์ ในขณะเดียวกัน ที่ผ่านมาเราไม่สามารถเรียกใช้อะไรได้หากไม่ได้ติดตั้ง Node.js ในระบบของเรา ตอนนี้เราสามารถทำสิ่งต่างๆ จากเบราว์เซอร์ นี่เป็นก้าวที่ยิ่งใหญ่ไปอีกระดับในระบบนิเวศของเว็บ และ OMT - ชุดข้อความหลัก การทำงานเกี่ยวกับชุดข้อความก็จะได้รับการปรับปรุงมากขึ้นเช่นกัน Web Assembly ก้าวหน้าและช่วยให้นักพัฒนาซอฟต์แวร์สามารถทำเช่นนั้นได้ และฉันคิดว่านี่เป็นอนาคตของระบบนิเวศเว็บ