Hindistan'da tanınmış bir web mühendisi olan Nishu Goel, Angular ve web teknolojileri alanında Google Geliştirici Uzmanı'dır. Topluluğuna katılımı, kariyer planları ve web geliştirmeyi öğrenmenin en iyi yolları hakkında bize bilgi verdi.
Hindistan'da tanınmış bir web mühendisi olan Nishu Goel, Angular ve web teknolojileri alanında Google Geliştirici Uzmanı, Microsoft Most Valuable Professional'dır. Step by Step Angular Redirect (BPB, 2019) ve A Uygulamalı Angular Kılavuzu (Educative, 2021) kitaplarının yanı sıra Web Almanac 2021 JavaScript bölümünün yazarıdır. Nishu, şu anda epilot GmbH'de full-stack mühendis olarak çalışıyor. Topluluğuna katılımı, kariyer planları ve web geliştirmeyi öğrenmenin en iyi yolları hakkında bize bilgi verdi.
Monika: Hikayenizle başlayalım. Geliştirici olup geliştirici topluluklarında etkin bir rol üstlenmeniz için size ilham veren ne oldu?
Nishu: Lisans derecemi bilgisayar bilimlerinde aldım, veri yapıları üzerinde çalıştık ve programlamaya olan ilgim tam olarak burada başladı. Mühendisliğin üçüncü yılı boyunca, çözümleri kod yoluyla sunduğumuz Microsoft Making Cup Nationals yarışmasına katıldığım için geliştirici topluluğuyla bir bağlantı kurdum. Geliştirdiğimiz uygulamanın amacı bölgedeki öğrencilere, özellikle de kızlara eğitim fırsatları sunmaktı. Bu yolculukta hem yarışmacılar hem de organizatörler olmak üzere çok ilham verici insanlarla tanıştım.
Profesyonel kariyerimde 2018 yılında ani bir başlangıç yaptı ve Angular ile çalışmaya başladım. Angular, beni GDE programına bağlayan birincil teknoloji oldu. Hemen hemen aynı zamanlarda blog yayınları yazmaya ve üzerinde çalışıp öğrendiğim konu ile ilgili içerik oluşturmaya başladım . Dhananjay Kumar bu yolculuğa başlamama yardımcı oldu ve yoldan sapmamamı sağladı. İlk makalelerimde Angular'ın temellerine değindik. Kısa süre sonra etkinliklerde konuşmaya başladım. Birincisi ngNepal, Nepal'in Angular Konferansı'ydı. Bunun sonucunda, Angular ve web teknolojileri hakkında daha fazla konuşmaya davet edildi.
Monika: Teknoloji açısından profesyonel deneyiminiz nasıl?
Nishu: İlk iki yıl, her şey Angular ve web bileşenleriyle ilgiliydi. Web'i oluşturmak için Angular'ı kullanıyordum, ama kısa süre sonra bunun ötesine geçip diğer alanları keşfetmeye karar verdim. Belki projeler arasında geçiş yapmak zorunda kalacağım diye sınırlama yapmak istemiyordum. Bu şekilde, diğer çerçevelerde kullanmak üzere Angular'da web bileşenleri oluşturmaya başladım.
İlk olarak Angular'ı kullanarak web bileşenleri oluşturuyordum. Videoyu npm'de yayınladım ve bir React projesinde demo olarak kullandım. Daha sonraki konuşmalarımda ve sunumlarımda bu konuya değindim. Bir sonraki işim React ve Typescript kullanılarak gerekli. React ile çalıştığım için artık yalnızca bir çerçeve değil, genel olarak web'i kullanıyordum. O zaman web hakkında, özellikle de web performansı hakkında çok şey öğrendim. İşte bu noktada Largest Contenful Paint (LCP) veya First Contentful Paint (FCP) hakkında düşünmeye başlamam gerekiyordu. Bu, uygulamanızın ne kadar sürede yükleneceği veya sayfanın oluşturulması için gereken maksimum süre anlamına geliyordu. En iyi uygulamaları seçmek ve uygulamaların performansını artırmak için çalışıyordum.
Web performansına olan bu ilgiden dolayı Web Almanağı'na girdim ve JavaScript bölümünü yazdım. Web Almanağı, genel olarak web'in durumunu ele alan yıllık bir rapordur. Bu rapor, bize kullanıcıların farklı özellikleri nasıl kullandığını bildirir. Geçen yıl 8,6 milyon web sitesi incelenmiş, veriler analiz edilmiş ve raporda sunulmuştur. Rapor, bir <script>
öğesindeki async
ve defer
özelliklerinin kullanımı gibi istatistikleri içerir. 2020'ye kıyasla kaç web sitesinin bu reklamları doğru şekilde kullandığı, kaç tanesinin bu araçları hiç kullanmadığı ve kaçının gelişme gösterdiği. Son Web Almanak raporunda web sitelerinin yaklaşık% 35'inin aynı alfabede iki özellik kullandığı belirtildi. Bu özellik, kalıbın dışına çıkarak performansı düşürdü. Bu gelişme geçen yıl da belirttiğimiz gibi, bu yıl da durumun düzelip düzelmediğini görmeye çalıştık. Ayrıca ngConf ve Reliable Dev Summit'te de konuştum, burada web’in performansına odaklandım.
Monika: Topluma katkıda bulunma konusunda da çok önemlisin. Son zamanlarda Ugandalı bir STK YIYA'ya gönüllü olarak çalıştınız. Yılbaşı nasıl başladı ve bu işbirliğinin temel amacı neydi?
Nishu: Bu çalışma, GDE ekibinin YIYA ile gönüllülük fırsatları hakkında bizi bilgilendirmesiyle başladı. Uganda STK'sı, içerik hazırlama veya teknik özellikler konusunda kendilerine yardımcı olacak mühendisler arıyordu. Programın amacı, Uganda'daki okul yaşındaki çocukları güçlendirmek ve onlara yerel olarak mevcut olan teknolojileri kullanarak eğitim fırsatları sunmaktır. Bu teknoloji, bilgisayar veya ders kitapları yerine temel tuş takımı telefonları ve radyoları kullanır. Çocuklar belirli bir numarayı çevirip bir dizi bilgi alır, daha ayrıntılı bilgi edinmek için başka bir numarayı arar ve bu şekilde devam eder. Pandemi sırasında daha da kullanışlı hale geldi.
Her zaman topluluk ve sürdürülebilir kalkınma hedefleriyle ilgili olduğum için sizinle iletişime geçmeye karar verdim. YIYA ekibiyle yaptığımız toplantının ardından Python komut dosyaları veya ortaya çıkan hatalar ve portalla ilgili sorunlar konusunda size yardımcı oldum. Kısa bir süre boyunca birlikte çalıştık.
Monika: 2022 için planlarınız neler? Özellikle odaklandığınız bir şey var mı?
Nishu: İşimi değiştirip başka bir ülkeye taşınıyorum. Genel olarak web üzerinde çalışarak site performansını iyileştireceğim. Golang'ı kullanarak da arka uçta çalışacağım. Oldukça ilginç ve karmaşık olduğu, anlaşılması ve optimize edilmesi gereken çok şey olduğu için web performansı konusuna odaklanmaya devam edeceğim. Zamanımın çoğunu bu işe ayırdığıma rağmen daha öğrenecek çok şey var. Örneğin, resim kaynaklarım için CDN kullanmanın uygulamamı daha da hızlı hale getirmeme nasıl yardımcı olacağını anlamak isterim. Web performansı konusunda TEKRAR uzman olmak istiyorum. Gittikçe bu noktaya ulaşıyorum ve inanıyorum :)
Monika: Uzman olmadığınız bir dönemde yazmaya başladığınızdan, yalnızca öğrendiğiniz şeyi yazmakta olduğunuzu belirtmiştiniz. Gelişen ve paylaşacakları bir şeyleri olmadığını düşünen yeni geliştiricilere ne önerirsiniz?
Nishu: Yazmaya başladığımda tam olarak böyle hissettim. "Bunu yayınlamamam gerekir mi?" diye düşündüm. Belki de yanlıştır? Yazdıklarımın okuyuculara fayda sağlamayacağından endişeleniyordum. Ama önemli olan, yazılarımın bana yardımcı olmasıydı. Bir süre sonra bir şeyleri unutuyorum ve sonra daha önce yazdığım bir şeye geri dönerim. Bir şeyler yazmak çok iyi bir fikirdir.
Bu yüzden herkese önerim, aşama ne olursa olsun yazmaları yeterlidir. Giriş yapmakta olduğunuz bir kursun yalnızca bir bölümünü bitirmiş olsanız bile, bir yere yazarak öğrenirsiniz. Bir noktada öğrendiğiniz bir bilgi, henüz bilmeyenler için faydalı olabilir. Bu konuda uzman olmanıza gerek yoktur. Yazmak size yardımcı olur. Kariyerinin her aşamasında sizinle paylaşabilirim.
Monika: Öğrenmeleri gereken her şeyi bildikleri için yeni öğrenmiş kişileri takip etmek en iyisidir. Uzman olsanız bile, yeni bir deneyimin nasıl olduğunu hatırlamak zordur. Web geliştirmeyle yeni başlayanlar için herhangi bir öneriniz var mı?
Nishu: Birçok kişi başlarken hangi çerçeveyi seçmeleri gerektiğini soruyor ama bence doğru soru bu değil. Herhangi bir noktada öğrendiğimiz her şey, sonraki aşamalarda da faydalı olacaktır. Herkese sınırlamaları bırakıp HTML veya JavaScript ile başlamalarını öneririm. Bu yöntem gelecekte kârlı olacaktır.
Ardından, karşınıza çıkan her fırsatı değerlendirin. Bu durumu, yazarları arayan Web Almanağı hakkında bilgi edindiğimde başıma geldi. "Bu ilginç, bu şekilde performans konusunda herkese yardımcı olabilir" diye düşündüm. Bu şekilde JavaScript bölümünün içerik lideri oldum ve altı ay boyunca bu bölümü hazırladım. Bu yüzden bence mesele fırsatları yakalamak ve sıkı çalışmak.
Monika: Genel olarak web teknolojisinin geleceği hakkında tahminleriniz veya fikirleriniz var mı? Bir sonraki gündem konusu ne olacak? Neler hızla büyüyecek?
Nishu: Artık tarayıcıların içinde sunucu çalıştırabiliyor olmamıza sevindim. Bu büyük bir gelişme. Örneğin, son zamanlarda tarayıcıdan Node.js çalıştırma özelliği kullanıma sunulmuştu. Ancak geçmişte, sistemlerimizde Node.js yüklü olmadan hiçbir şey çalıştıramıyorduk. Artık tarayıcıdan her şeyi yapabiliriz. Bu, web ekosisteminde çok daha ileri bir adım. Ve OMT: Ana İş Parçacığının Dışında. İleti dizileri üzerinde çalışmak da çok daha gelişecektir. Web Assembly ilerliyor ve geliştiricilerin bunu yapmasına imkan tanıyor. Bence bu, web ekosisteminin geleceği.