Sorotan komunitas GDE: Nishu Goel

Nishu Goel adalah engineer web terkenal dari India, Pakar Developer Google untuk teknologi web dan Angular. Dia menceritakan kepada kami tentang keterlibatan komunitasnya, rencana kariernya, dan cara terbaik untuk mempelajari pengembangan web.

Monika Janota
Monika Janota

Nishu di atas panggung.

Nishu Goel adalah seorang engineer web terkenal dari India, Pakar Developer Google untuk teknologi web dan Angular, Microsoft Most Valuable Professional. Dia adalah penulis Step by Step Angular Routing (BPB, 2019) dan A Hands-on Guide to Angular (Educative, 2021) serta penulis bab JavaScript Web Almanac 2021. Nishu saat ini bekerja di epilot GmbH sebagai {i>full stack engineer<i}. Dia menceritakan kepada kami tentang keterlibatan komunitasnya, rencana kariernya, dan cara terbaik untuk mempelajari pengembangan web.

Monika: Mari kita mulai dengan cerita Anda. Apa yang menginspirasi Anda untuk menjadi developer dan mengambil peran aktif dalam komunitas developer?

Nishu: Saya mendapatkan gelar sarjana di bidang ilmu komputer, kami mempelajari struktur data, dan dari situlah minat terhadap pemrograman dimulai. Selama tahun ketiga teknik, koneksi dengan komunitas developer dibangun melalui partisipasi saya dalam kompetisi Microsoft Imagine Cup Nationals. Di sini, kami mempresentasikan solusi melalui kode. Ide aplikasi yang kami buat adalah untuk memberikan peluang pendidikan kepada siswa setempat, terutama anak perempuan. Saya bertemu beberapa orang yang sangat menginspirasi, baik kontestan maupun penyelenggara dalam perjalanan ini.

Pada tahun 2018, karier profesional saya berkembang, dan saya mulai bekerja dengan Angular. Angular menjadi teknologi utama yang menghubungkan saya ke program GDE. Pada waktu yang bersamaan, saya mulai menulis postingan blog serta membuat konten seputar subjek yang sedang saya kerjakan dan pelajari . Dhananjay Kumar membantu saya memulai perjalanan ini dan memastikan saya tetap berada di jalur. Artikel pertama saya membahas dasar-dasar Angular. Segera setelah saya mulai menjadi pembicara di berbagai acara. Yang pertama adalah ngNepal, Konferensi Angular Nepal. Hal ini menyebabkan lebih banyak undangan untuk berbicara tentang Angular dan teknologi web.

Nishu dan orang lain dari ng-india.

Monika: Seperti apa pengalaman profesional Anda dalam hal teknologi?

Nishu: Semuanya tentang Angular dan komponen web selama dua tahun pertama. Saya menggunakan Angular untuk membangun web, tetapi segera saya memutuskan untuk lebih dari itu dan menjelajahi kolom lain. Saya tidak ingin membatasi diri jika harus berpindah project. Itulah cara saya mulai membuat komponen web di Angular untuk digunakan di framework lain.

Hal pertama yang saya lakukan adalah membuat komponen web menggunakan Angular. Saya memublikasikannya ke npm dan menggunakannya sebagai demo dalam project React. Saya telah membahas hal ini dalam beberapa perbincangan dan presentasi nanti. Tugas saya berikutnya wajib menggunakan React dan Typescript. Sekarang, karena menggunakan React, saya tidak hanya menggunakan satu framework lagi, tetapi juga web secara umum. Pada saat itu saya belajar banyak tentang web, terutama performa web. Saat itulah saya harus mulai memikirkan Largest Contenful Paint (LCP) atau First Contentful Paint (FCP), yang berarti berapa lama waktu yang diperlukan untuk memuat aplikasi Anda atau berapa waktu maksimum yang diperlukan untuk merender halaman. Saya telah berupaya memilih praktik terbaik dan meningkatkan performa aplikasi.

Karena minat terhadap kinerja web ini, saya terlibat dalam Web Almanak dan menulis bab JavaScript. Web Almanac adalah laporan tahunan tentang keadaan web secara umum—laporan ini memberi tahu kita cara orang menggunakan fitur yang berbeda. Tahun lalu, 8,6 juta situs web disaring, datanya dianalisis dan disajikan dalam laporan. Laporan ini mencakup statistik seperti penggunaan atribut async dan defer dalam elemen <script>. Berapa banyak situs yang menggunakannya dengan tepat, berapa banyak yang tidak menggunakannya sama sekali, dan berapa banyak yang meningkatkannya dibandingkan dengan tahun 2020. Laporan Web Almanac terakhir menyebutkan bahwa sekitar 35% situs menggunakan dua atribut pada skrip yang sama, yang merupakan anti-pola, sehingga menurunkan performanya. Hal ini ditunjukkan tahun lalu, dan tahun ini kami mencoba melihat apakah situasinya membaik. Saya juga berbicara di ngConf dan Reliable Dev Summit, tempat saya berfokus pada performa web.

Edisi cetak Web Almanac.

Monika: Anda juga sangat terlibat dalam memberikan kontribusi kepada komunitas. Akhir-akhir ini Anda menjadi sukarelawan dengan LSM Uganda YIYA—bagaimana awalnya dan apa poin utama dari kerja sama itu?

Nishu: Acara ini dimulai dengan tim GDE yang memberitahukan kami tentang peluang menjadi sukarelawan dengan YIYA. LSM Uganda mencari para insinyur untuk membantu mereka dalam hal persiapan konten atau fitur teknis. Program ini bertujuan memberdayakan anak-anak usia sekolah di Uganda dan menawarkan peluang pendidikan kepada mereka menggunakan teknologi yang tersedia secara lokal, bukan komputer atau buku teks, melainkan telepon dan radio dengan keypad standar. Anak-anak akan menghubungi nomor tertentu dan menerima serangkaian informasi, menghubungi nomor lainnya untuk mendapatkan lebih banyak wawasan, dan seterusnya. Fitur ini menjadi lebih berguna selama pandemi.

Karena saya selalu terlibat dengan komunitas dan tujuan pembangunan berkelanjutan, saya memutuskan untuk menghubungi Anda. Setelah bertemu dengan tim YIYA, saya menawarkan bantuan terkait skrip Python atau bug yang mereka temukan, masalah apa pun pada portal. Kami bekerja sama dalam waktu yang singkat.

Monika: Apa rencana Anda untuk tahun 2022? Apakah ada sesuatu yang secara khusus Anda fokuskan?

Nishu: Saya berganti pekerjaan dan pindah ke negara lain. Saya akan bekerja di web secara umum, meningkatkan performa situs, dan juga membuat backend, menggunakan Golang. Saya akan terus membidik area performa web karena sangat menarik dan kompleks, serta ada banyak hal yang perlu dipahami dan dioptimalkan. Bahkan sekarang, setelah mendedikasikan banyak waktu saya untuk hal tersebut, masih banyak yang harus dipelajari. Misalnya, saya ingin memahami bagaimana penggunaan CDN untuk resource gambar dapat membantu mempercepat aplikasi saya. Saya ingin menjadi Keahlian dalam performa web—saya dapat mencapainya secara bertahap, yakinlah :)

Monika: Anda telah menyebutkan bahwa Anda mulai menulis suatu titik ketika Anda belum menjadi ahli, padahal Anda hanya menulis apa yang Anda pelajari. Apa saran Anda bagi developer baru yang baru memulai dan merasa mereka tidak memiliki informasi apa pun untuk dibagikan?

Nishu: Begitulah yang saya rasakan ketika saya mulai menulis. Kupikir aku tidak boleh mengeluarkan ini? Mungkin hanya salah? Saya khawatir tulisan saya tidak akan membantu pembaca. Tetapi yang penting adalah tulisan saya membantu saya. Saya akan melupakan hal-hal setelah beberapa waktu dan kemudian kembali ke sesuatu yang saya tulis sebelumnya. Menuliskan semuanya adalah ide yang bagus.

Buku Angular Routing pada tabel.

Jadi saya menyarankan semua orang—cukup menulis, di tahap mana pun. Bahkan jika Anda hanya menyelesaikan satu bagian dari materi yang sedang dikerjakan—Anda belajar dengan menuliskannya. Potongan informasi yang harus Anda ketahui pada suatu saat mungkin berguna bagi orang lain yang belum mengetahuinya. Anda tidak perlu menjadi ahli. Menulis akan membantu Anda. Dan siapa pun, di tahap mana pun dalam karier mereka.

Monika: Sebaiknya ikuti orang-orang yang baru saja mempelajari sesuatu karena mereka mengetahui semua hal yang harus mereka ketahui. Setelah menjadi ahli, sulit untuk mengingat bagaimana rasanya ketika Anda masih baru. Dan apakah ada saran untuk seseorang yang baru saja mempelajari pengembangan web?

Nishu: Banyak orang bertanya framework mana yang harus mereka pilih saat memulai, tapi menurut saya itu bukan pertanyaan yang tepat. Apa pun yang kita pelajari di tahap mana pun, kita juga akan berguna di kemudian hari. Saya sarankan siapa pun untuk meninggalkan batasan dan mulai dengan HTML atau JavaScript—yang akan menguntungkan di masa depan.

Dan kemudian manfaatkan setiap peluang yang muncul. Ini terjadi ketika saya menemukan informasi tentang Almanak Web untuk mencari penulis. Saya hanya berpikir, "Oh, ini menarik. Ini dapat membantu semua orang dalam hal performa". Begitulah cara saya menjadi pemimpin konten untuk bab JavaScript, dan saya telah menghabiskan enam bulan untuk menulisnya. Jadi saya pikir ini hanya tentang meraih peluang dan bekerja keras.

Monika: Apakah Anda memiliki prediksi atau ide tentang masa depan teknologi web secara umum? Apa yang akan menjadi topik hangat berikutnya? Apa yang akan berkembang pesat?

Nishu: Saya senang karena kita dapat menjalankan server di dalam browser sekarang, ini adalah kemajuan yang besar. Misalnya, baru-baru ini kami memperkenalkan Node.js dari browser, sementara itu kami tidak dapat menjalankan apa pun tanpa menginstal Node.js di sistem kami. Sekarang kita dapat melakukan apa pun dari browser. Ini adalah langkah besar lebih jauh dalam ekosistem web. Dan OMT—Di Luar Thread Utama. Kemampuan mengerjakan thread juga akan jauh lebih baik. Web Assembly semakin maju dan memungkinkan developer untuk melakukannya, dan saya pikir itu adalah masa depan ekosistem web.