Sorotan komunitas GDE: Nishu Goel

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

Janota Monika
Monika Janota

Nishu di atas panggung.

Nishu Goel adalah seorang web engineer 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 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 meraih gelar sarjana dalam ilmu komputer, kami belajar struktur data, dan di situlah minat pada pemrograman dimulai. Selama tahun ketiga teknik, kami menjalin hubungan dengan komunitas developer melalui partisipasi saya dalam kompetisi Microsoft Predict Cup Nationals tempat kami mempresentasikan solusi melalui kode. Ide aplikasi yang kami buat adalah untuk memberikan peluang pendidikan kepada siswa lokal, terutama anak perempuan. Saya bertemu dengan orang-orang yang sangat menginspirasi, baik kontestan maupun penyelenggara dalam perjalanan ini.

Pada tahun 2018, karier profesional saya berkembang pesat, dan saya mulai bekerja dengan Angular. Angular menjadi teknologi utama yang menghubungkan saya dengan program GDE. Sekitar waktu yang sama, saya mulai menulis postingan blog dan 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 berbicara di acara-acara yang pertama adalah ngNepal, Konferensi Angular Nepal. Hal ini menghasilkan lebih banyak undangan menjadi pembicara tentang teknologi web dan Angular.

Nishu dan orang lain dari ng-india.

Monika: Bagaimana pengalaman profesional Anda dalam hal teknologi?

Nishu: Semuanya tentang Angular dan komponen web selama dua tahun pertama. Saya menggunakan Angular untuk membangun web, tetapi tak lama kemudian saya memutuskan untuk memanfaatkannya dan menjelajahi kolom lain. Saya tidak ingin membatasi diri jika saya harus beralih project. Begitulah cara saya mulai membuat komponen web di Angular untuk digunakan dalam 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 pembicaraan dan presentasi saya nanti. Tugas saya berikutnya adalah menggunakan React dan Typescript. Sekarang, karena saya menggunakan React, saya tidak hanya menggunakan satu framework lagi, melainkan web secara umum. Saat itu saya belajar banyak tentang web, terutama kinerja web. Saat itulah saya harus mulai memikirkan Largest Contenful Paint (LCP) atau First Contentful Paint (FCP), yang berarti berapa lama waktu yang dibutuhkan untuk memuat aplikasi Anda atau berapa waktu maksimum untuk merender halaman. Saya telah berupaya memilih praktik terbaik dan meningkatkan performa aplikasi.

Karena minat pada performa web ini, saya terlibat dalam Web Almanac dan menulis bab JavaScript. Web Almanac merupakan laporan tahunan tentang keadaan web secara umum—laporan ini memberi tahu kami bagaimana orang menggunakan fitur yang berbeda. Tahun lalu ada 8,6 juta situs web yang 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 benar, berapa banyak yang tidak menggunakannya sama sekali, dan berapa banyak peningkatan yang dibandingkan dengan tahun 2020. Laporan Almanak Web terakhir menyebutkan bahwa sekitar 35% situs menggunakan dua atribut pada skrip yang sama, yang merupakan antipola sehingga menurunkan performanya. Hal ini disebutkan 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 awal mulanya dan apa poin utama dari kerja sama tersebut?

Nishu: Ini dimulai dengan tim GDE yang memberi tahu kami tentang peluang menjadi sukarelawan dengan YIYA. LSM Uganda mencari para insinyur 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 telepon dan radio keypad dasar. Anak-anak akan menghubungi nomor tertentu dan menerima serangkaian informasi, menelepon nomor lain untuk mendapatkan lebih banyak wawasan, dan sebagainya. Aplikasi ini menjadi lebih berguna selama pandemi.

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

Monika: Apa rencana Anda di tahun 2022? Apakah ada hal yang menjadi fokus Anda?

Nishu: Saya pindah pekerjaan dan pindah ke negara lain. Saya akan mengerjakan web secara umum, meningkatkan performa situs, dan juga di backend, menggunakan Golang. Saya akan terus membidik area kinerja web karena hal ini sangat menarik dan kompleks, serta ada banyak hal yang harus dipahami dan dioptimalkan. Bahkan sekarang, setelah mendedikasikan banyak waktu untuk itu, masih banyak yang harus dipelajari. Misalnya, saya ingin memahami bagaimana penggunaan CDN untuk resource gambar akan membantu membuat aplikasi saya lebih cepat lagi. Saya ingin menjadi ahli dalam kinerja web—secara bertahap saya bisa sampai di sana, saya percaya :)

Monika: Anda telah menyebutkan mulai menulis pada suatu titik ketika Anda bukan pakar, tetapi Anda hanya menulis apa yang Anda pelajari. Apa saran Anda kepada developer baru yang baru datang dan merasa tidak memiliki informasi untuk dibagikan?

Nishu: Itulah yang saya rasakan saat mulai menulis. Kurasa aku tidak boleh mengungkapkannya? Mungkin ini salah? Saya khawatir tulisan saya tidak akan membantu pembaca. Tetapi yang penting tulisan saya itu membantu saya. Saya akan melupakan beberapa hal setelah beberapa waktu dan kemudian kembali ke sesuatu yang saya tulis sebelumnya. Menulis sesuatu adalah ide bagus.

Buku Angular Routing pada tabel.

Jadi saya menyarankan kepada semua orang—cukup tulis, pada tahap apa pun. Meskipun Anda baru menyelesaikan satu bagian dari kursus yang sedang Anda jalani—Anda belajar dengan menuliskannya. Informasi yang seharusnya Anda ketahui suatu saat mungkin berguna bagi orang lain yang belum mengetahuinya. Anda tidak perlu menjadi ahli. Menulis akan membantu Anda. Dan siapa saja, pada setiap tahap karier mereka.

Monika: Sebaiknya ikuti 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 ada saran untuk seseorang yang baru mulai bekerja di bidang pengembangan web?

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

Dan kemudian ambil setiap peluang yang menghampiri Anda. Situasi ini terjadi saat saya menemukan informasi tentang Almanak Web untuk mencari penulis. Saya hanya berpikir, "oh, ini menarik, hal 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 semua 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 dengan cepat?

Nishu: Saya menyukai fakta bahwa kami dapat menjalankan server dalam browser sekarang, ini adalah kemajuan yang besar. Misalnya, menjalankan Node.js dari browser telah diperkenalkan baru-baru ini, sementara di masa lalu kami tidak dapat menjalankan apa pun tanpa menginstal Node.js dalam sistem kami. Sekarang kita dapat melakukan apa saja dari browser. Ini adalah langkah yang sangat besar dalam ekosistem web. OMT—Di Luar Thread Utama. Penggunaan thread juga akan jauh lebih baik. Web Assembly semakin maju dan memungkinkan developer melakukannya, dan menurut saya ini adalah masa depan ekosistem web.