Sorotan komunitas GDE: Nishu Goel

Nishu Goel adalah engineer web terkenal dari India, Google Developer Expert untuk Angular dan teknologi web. Ia memberi tahu kami tentang keterlibatannya dalam komunitas, rencana karier, dan cara terbaik untuk mempelajari pengembangan web.

Monika Janota
Monika Janota

Nishu di atas panggung.

Nishu Goel adalah engineer web terkenal dari India, Google Developer Expert untuk Angular dan teknologi web, Microsoft Most Valuable Professional. Ia 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 engineer full stack. Ia memberi tahu kami tentang keterlibatannya dalam komunitas, rencana karier, dan cara terbaik untuk mempelajari pengembangan web.

Monika: Mari kita mulai dengan kisah 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 saya pada pemrograman dimulai. Selama tahun ketiga di jurusan teknik, saya terhubung dengan komunitas developer melalui partisipasi saya dalam kompetisi Microsoft Imagine Cup Nationals, tempat kami mempresentasikan solusi melalui kode. Ide aplikasi yang kami buat adalah untuk menghadirkan peluang pendidikan kepada siswa lokal, terutama perempuan. Saya bertemu dengan beberapa orang yang sangat menginspirasi, baik kontestan maupun penyelenggara dalam perjalanan ini.

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

Nishu dan orang lain dari ng-india.

Monika: Apa pengalaman profesional Anda dalam hal teknologi?

Nishu: Selama dua tahun pertama, saya hanya mempelajari Angular dan komponen web. Saya menggunakan Angular untuk mem-build web, tetapi segera saya memutuskan untuk melampaui itu dan menjelajahi bidang lain. Saya tidak ingin membatasi diri saya jika harus beralih 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 membahasnya selama beberapa diskusi dan presentasi saya nanti. Pekerjaan saya berikutnya mengharuskan penggunaan React dan Typescript. Sekarang, karena saya menggunakan React, saya tidak hanya menggunakan satu framework lagi, tetapi web secara umum. Pada saat itu, saya banyak belajar tentang web, terutama performa web. Saat itulah saya harus mulai memikirkan Largest Contentful Paint (LCP) atau First Contentful Paint (FCP), yang berarti berapa lama waktu yang diperlukan aplikasi Anda untuk dimuat atau berapa waktu maksimum yang diperlukan untuk merender halaman. Saya telah berupaya memilih praktik terbaik dan meningkatkan performa aplikasi.

Karena minat saya pada performa web, saya terlibat dalam Web Almanac dan menulis bab JavaScript. Web Almanac adalah laporan tahunan tentang kondisi web secara umum—laporan ini memberi tahu kita cara orang menggunakan berbagai fitur. Tahun lalu, 8,6 juta situs telah dipindai, datanya dianalisis, dan ditampilkan dalam laporan ini. Laporan ini mencakup statistik seperti penggunaan atribut async dan defer dalam elemen <script>. Jumlah situs yang menggunakannya dengan benar, jumlah situs yang tidak menggunakannya sama sekali, dan jumlah situs 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 performa. Hal ini telah 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 manfaat kepada komunitas. Akhir-akhir ini Anda menjadi sukarelawan di YIYA, sebuah LSM di Uganda. Bagaimana awal mulanya dan apa tujuan utama dari kerja sama tersebut?

Nishu: Semuanya dimulai saat tim GDE memberi tahu kami tentang peluang menjadi sukarelawan dengan YIYA. LSM Uganda tersebut mencari engineer untuk membantu mereka dalam persiapan konten atau fitur teknis. Program ini bertujuan untuk 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 ponsel keypad dan radio dasar. Anak-anak akan menghubungi nomor tertentu dan menerima serangkaian informasi, menghubungi nomor lain untuk mendapatkan insight lebih lanjut, dan seterusnya. Hal ini menjadi lebih berguna selama pandemi.

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

Monika: Apa rencana Anda untuk tahun 2022? Apakah ada hal yang menjadi fokus Anda secara khusus?

Nishu: Saya beralih pekerjaan dan pindah ke negara lain. Saya akan bekerja di web secara umum, meningkatkan performa situs, dan juga di backend, menggunakan Golang. Saya akan terus berfokus pada area performa web karena sangat menarik dan kompleks, serta ada banyak hal yang perlu dipahami dan dioptimalkan. Bahkan sekarang, setelah banyak menghabiskan waktu untuk itu, masih banyak hal yang harus dipelajari. Misalnya, saya ingin memahami bagaimana penggunaan CDN untuk resource gambar akan membantu saya membuat aplikasi lebih cepat. Saya ingin menjadi pakar performa web—Saya yakin saya akan mencapainya secara bertahap :)

Monika: Anda pernah menyebutkan bahwa Anda mulai menulis saat belum menjadi pakar, Anda hanya menulis apa yang Anda pelajari. Apa saran Anda untuk developer baru yang merasa tidak memiliki apa pun untuk dibagikan?

Nishu: Itulah yang saya rasakan saat mulai menulis. Saya pikir mungkin saya tidak boleh memposting ini? Mungkin saja salah? Saya khawatir tulisan saya tidak akan membantu pembaca. Namun, yang penting adalah tulisan saya membantu saya. Saya akan lupa beberapa hal setelah beberapa waktu, lalu kembali ke sesuatu yang saya tulis sebelumnya. Menuliskan semuanya adalah ide yang bagus.

Buku Angular Routing di atas meja.

Jadi, saya menyarankan semua orang—hanya menulis, di tahap apa pun. Meskipun Anda baru menyelesaikan satu bagian dari kursus yang sedang Anda ikuti, Anda tetap belajar dengan menulisnya. Informasi yang Anda ketahui pada suatu saat mungkin berguna bagi orang lain yang belum mengetahuinya. Anda tidak perlu menjadi seorang pakar. Menulis akan membantu Anda. Dan siapa saja, di tahap karier apa pun.

Monika: Sebaiknya ikuti orang yang baru saja mempelajari sesuatu karena mereka tahu semua hal yang harus mereka pelajari. Setelah menjadi pakar, sulit untuk mengingat bagaimana rasanya saat Anda masih baru. Adakah saran untuk seseorang yang baru mulai mempelajari pengembangan web?

Nishu: Banyak orang bertanya framework mana yang harus mereka pilih saat memulai, tetapi menurut saya itu bukan pertanyaan yang tepat. Apa pun yang kita pelajari pada suatu waktu juga akan berguna pada tahap selanjutnya. Saya akan menyarankan siapa pun untuk menghilangkan batasan dan memulai dengan HTML atau JavaScript—yang akan menguntungkan di masa mendatang.

Kemudian, ambil setiap peluang yang ada. Hal ini terjadi pada saya saat saya menemukan informasi tentang Web Almanac yang sedang mencari penulis. Saya hanya berpikir, "oh, ini menarik, ini dapat membantu semua orang dalam hal performa". Itulah cara saya menjadi pemimpin konten untuk bab JavaScript, dan saya menghabiskan waktu enam bulan untuk menulisnya. Jadi, menurut saya, kuncinya adalah memanfaatkan peluang dan bekerja keras.

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

Nishu: Saya senang karena sekarang kita dapat menjalankan server dalam browser. Ini adalah kemajuan yang luar biasa. Misalnya, menjalankan Node.js dari browser telah diperkenalkan akhir-akhir ini, sementara sebelumnya kita tidak dapat menjalankan apa pun tanpa menginstal Node.js di sistem. Sekarang kita dapat melakukan apa pun dari browser. Ini adalah langkah besar dalam ekosistem web. Dan OMT—Off the Main Thread. Pengolahan thread juga akan jauh lebih baik. Web Assembly berkembang dan memungkinkan developer melakukannya, dan saya pikir itu adalah masa depan ekosistem web.