Hindistan'dan tanınmış bir web mühendisi olan Nishu Goel, Angular ve web teknolojileri için Google Geliştirici Uzmanı'dır. Topluluk katılımı, kariyer planları ve web geliştirmeyi öğrenmenin en iyi yolları hakkında konuştuk.

Nishu Goel, Hindistan'da tanınmış bir web mühendisi, Angular ve web teknolojileri için Google Geliştirici Uzmanı ve Microsoft En Değerli Meslektaşı'dır. Step by Step Angular Routing (BPB, 2019) ve A Hands-on Guide to Angular (Educative, 2021) kitaplarının yanı sıra Web Almanac 2021 JavaScript bölümünün de yazarı. Nishu şu anda epilot GmbH'de tam stack mühendis olarak çalışıyor. Topluluk katılımı, kariyer planları ve web geliştirmeyi öğrenmenin en iyi yolları hakkında konuştuk.
Monika: Hikayenizle başlayalım. Geliştirici olmaya ve geliştirici topluluklarında aktif bir rol üstlenmeye sizi ne yönlendirdi?
Nishu: Bilgisayar bilimi alanında lisans derecemi aldım. Veri yapılarını inceledik ve programlamaya olan ilgim o zaman başladı. Mühendislik programının üçüncü yılında, Microsoft Imagine Cup Ulusal Yarışması'na katılarak geliştirici topluluğuyla bağlantı kurdum. Bu yarışmada çözümlerimizi kod üzerinden sunduk. Geliştirdiğimiz uygulamanın amacı, özellikle kız öğrenciler olmak üzere yerel öğrencilere eğitim fırsatları sunmaktı. Bu yolculukta hem yarışmacılar hem de düzenleyenlerle tanıştım.
2018'de profesyonel kariyerim başladı ve Angular ile çalışmaya başladım. Angular, beni GDE programına bağlayan birincil teknoloji oldu. Aynı dönemde, üzerinde çalıştığım ve öğrendiğim konu hakkında blog yayınları yazmaya ve içerik üretmeye başladım . Dhananjay Kumar bu yolculuğa başlamama yardımcı oldu ve yoldan çıkmamama özen gösterdi. İlk makalelerimde Angular'ın temel özelliklerini ele aldım. Kısa süre sonra etkinliklerde konuşmaya başladım. İlki, Nepal'in Angular Konferansı olan ngNepal idi. Bu sayede Angular ve web teknolojileri hakkında daha fazla konuşma daveti aldım.

Monika: Teknoloji alanındaki profesyonel deneyiminiz nedir?
Nishu: İlk iki yıl boyunca Angular ve web bileşenleri ile ilgili her şeyi öğrendim. Web'i oluşturmak için Angular kullanıyordum ancak kısa süre sonra bunun ötesine geçip diğer alanları keşfetmeye karar verdim. Proje değiştirmem gerekirse kendimi sınırlamak 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şturdum. Bu paketi npm'de yayınladım ve bir React projesinde demo olarak kullandım. Bu konuyu daha sonra yaptığım bazı konuşma ve sunumlarda ele aldım. Bir sonraki işimde React ve Typescript kullanmam gerekiyordu. React ile çalıştığım için artık tek bir çerçeve değil, genel olarak web'i kullanıyordum. O sırada web hakkında, özellikle de web performansı hakkında çok şey öğrendim. Bu noktada Largest Contentful Paint (LCP) veya First Contentful Paint (FCP) hakkında düşünmeye başlamam gerekiyordu. Bu metrikler, uygulamanızın yüklenmesinin ne kadar süreceğini veya sayfanın oluşturulmasının maksimum süresinin ne olacağını ifade eder. En iyi uygulamaları seçmek ve uygulamaların performansını artırmak için çalışıyorum.
Web performansına olan bu ilgim nedeniyle Web Almanağı'na katıldım ve JavaScript bölümünü yazdım. Web Almanağı, genel olarak web'in durumuyla ilgili yıllık bir rapordur. Kullanıcıların farklı özellikleri nasıl kullandığını bize bildirir. Geçen yıl 8,6 milyon web sitesi tarandı, veriler analiz edildi ve raporda sunuldu. Raporda, <script>
öğesindeki async
ve defer
özelliklerinin kullanımı gibi istatistikler yer alır. Bunları kaç web sitesinin doğru şekilde kullandığı, kaç web sitesinin hiç kullanmadığı ve kaç web sitesinin 2020'ye kıyasla bu özellikleri iyileştirdiği. Web Almanac'ın son raporunda, web sitelerinin yaklaşık% 35'inin aynı komut dosyasında iki özellik kullandığı belirtiliyor. Bu, performansı düşüren bir anti-modeldir. Bu durum geçen yıl belirtilmişti ve bu yıl durumun iyileşip iyileşmediğini anlamaya çalıştık. Ayrıca ngConf ve Reliable Dev Summit'te de konuştum. Bu etkinliklerde web'in performansına odaklandım.

Monika: Topluluğa geri verme konusunda da çok aktifsiniz. Son zamanlarda Uganda'daki bir STK olan YIYA ile gönüllü olarak çalışıyorsunuz. Bu işbirliği nasıl başladı ve asıl amacı neydi?
Nishu: GDE ekibinin bizi YIYA'daki gönüllülük fırsatı hakkında bilgilendirmesiyle başladı. Ugandalı STK, içerik hazırlama veya teknik özellikler konusunda kendilerine yardımcı olacak mühendisler arıyordu. Program, Uganda'daki okul çağındaki çocuklara güç vermeyi ve onlara yerel olarak mevcut olan teknolojileri (bilgisayar veya ders kitabı yerine temel tuşlu telefonlar ve radyolar) kullanarak eğitim fırsatları sunmayı amaçlamaktadır. Çocuklar belirli bir numarayı çevirip bir dizi bilgi alıyordu, daha fazla bilgi için başka bir numarayı çeviriyordu ve bu böyle devam ediyordu. Pandemi döneminde bu özellik daha da faydalı hale geldi.
Topluluk ve sürdürülebilir kalkınma hedefleri ile her zaman ilgilendiğim için size ulaşmaya karar verdim. YIYA ekibiyle yaptığımız toplantının ardından, Python komut dosyaları veya karşılaştıkları hatalar ya da portalla ilgili sorunlar konusunda yardım teklif ettim. Kısa bir süre birlikte çalıştık.
Monika: 2022 için planlarınız neler? Özellikle odaklandığınız bir konu var mı?
Nishu: İş değiştiriyorum ve başka bir ülkeye taşınıyorum. Genel olarak web'de çalışarak site performansını iyileştirecek ve Golang'ı kullanarak arka uçta çalışacağım. Çok ilginç ve karmaşık olduğu ve anlaşılması ve optimize edilmesi gereken çok şey olduğu için web performansı alanına odaklanmaya devam edeceğim. Zamanımın büyük bir kısmını bu konuya ayırmama rağmen hâlâ öğrenecek çok şey var. Örneğin, resim kaynaklarım için bir CDN kullanmanın uygulamamı daha da hızlandırmama nasıl yardımcı olacağını öğrenmek isterim. Web performansı konusunda uzman olmak istiyorum. Bu konuda yavaş yavaş ilerlediğimi düşünüyorum :)
Monika: Yazmaya, henüz uzman olmadığınız bir dönemde başladığınızı ve o dönemde öğrendiklerinizi yazdığınızı belirtmişsiniz. Paylaşacak hiçbir şeyleri olmadığını düşünen yeni geliştiricilere ne gibi tavsiyeler verirsiniz?
Nishu: Yazmaya başladığımda tam olarak böyle hissediyordum. Bunu yayınlamamam gerektiğini düşündüm. Yanlış olabilir mi? Yazdıklarımın okuyuculara yardımcı olmayacağından endişe ediyordum. Ancak asıl önemli olan, yazmanın bana yardımcı olmasıydı. Bir süre sonra bazı şeyleri unutup daha önce yazdığım bir şeye geri dönerdim. Not almak iyi bir fikirdir.

Bu nedenle, herkese ne olursa olsun yazmalarını öneririm. Aldığınız bir kursun yalnızca bir bölümünü tamamlamış olsanız bile not alarak öğreniyorsunuzdur. Bir noktada öğrendiğiniz bir bilgi, henüz bu bilgiye sahip olmayan diğer kullanıcılar için faydalı olabilir. Uzman olmanıza gerek yoktur. Yazmak size yardımcı olacaktır. Kariyerlerinin herhangi bir aşamasında olan herkes için de geçerlidir.
Monika: Yeni bir şey öğrenen kişileri takip etmek en iyisidir. Çünkü bu kişiler, öğrenmek zorunda oldukları her şeyi bilir. Uzman olduktan sonra, yeni başladığınız zamanları hatırlamak zordur. Web geliştirmeye yeni başlayanlara vereceğiniz bir tavsiye var mı?
Nishu: Birçok kişi, işe başlarken hangi çerçeveyi seçmeleri gerektiğini soruyor. Ancak bu sorunun doğru olmadığını düşünüyorum. Herhangi bir noktada öğrendiğimiz her şey daha sonraki aşamalarda da faydalı olacaktır. Herkesin sınırlamaları bırakıp HTML veya JavaScript ile başlamasını öneririm. Bu, gelecekte kârlı olacaktır.
Ardından, karşınıza çıkan fırsatları değerlendirin. Bu durum, yazar aradığım sırada Web Almanağı ile ilgili bilgilere rastladığımda başıma geldi. "Bu ilginç, performans konusunda herkese yardımcı olabilir" diye düşündüm. Bu şekilde JavaScript bölümünün içerik sorumlusu oldum ve altı ay boyunca bu bölümü yazdım. Yani fırsatları değerlendirmek ve çok çalışmak gerekiyor.
Monika: Genel olarak web teknolojisinin geleceği hakkında tahminleriniz veya fikirleriniz var mı? Sırada hangi konu olacak? Hangi sektörler hızla büyüyecek?
Nishu: Artık tarayıcılarda sunucu çalıştırabilmemizi seviyorum. Bu harika bir gelişme. Örneğin, Node.js'i tarayıcıdan çalıştırma özelliği son zamanlarda kullanıma sunuldu. Geçmişte ise sistemlerimize Node.js yüklemeden hiçbir şey çalıştıramıyorduk. Artık tarayıcıdan her şeyi yapabiliriz. Bu, web ekosisteminde atılmış büyük bir adımdır. Ve OMT (Ana İş Parçacığı Dışındaki Mesaj). İleti dizileriyle çalışma deneyimi de çok daha iyi olacak. Web Assembly gelişiyor ve geliştiricilerin bunu yapmasını sağlıyor. Bence web ekosisteminin geleceği bu.