Öğrenmeyi ve Hızlı Öğrenmeyi Öğrenmek

Bugünlerde yazılıma yeni başlayacak olan yazılımcılara verilecek tavsiyeler hakkında düşünüyorum. Tavsiye vermek için yetkili olan kişi ben miyim bilmiyorum ama sağolsun etrafımda beni seven ve yaptığım bazı işleri takdir eden arkadaşlarım tecrübelerimden yararlanmak için bana sorular soruyorlar. Ben de meslekteki 12 yıllık deneyimim boyunca yaptığım hatalar ve öğrendiklerime göre naçizane bilgimi aktarmaya çalışıyorum.

"Mesleğe yeni başlayan yazılımcılara ne gibi tavsiyeler verirdin?" gibi bir soru alınca bu konu hakkında biraz düşündüm. "Mesleğe ilk başlarken bana hangi tavsiyelerin verilmesini isterdim?" sorusunu da kendime sordum. Hızlı değişen yazılım dünyasını da göz önünde bulundurduğumuz zaman öğrenmeyi öğrenmek ve daha da önemlisi hızlı öğrenmeyi öğrenmek kesinlikle duymak isteyeceğim tavsiyelerden biri olurdu.

Yazılım dünyasının ne kadar hızlı değiştiğini söylemeye gerek yok. Kullandığımız programlama dilleri, frameworkler, araçlar vs. hızla değişiyor. Mesleğimizi icra ederken bir teknolojiden diğerine hızlı bir şekilde adapte olabilme yeteneği gün geçtikçe önem kazanıyor. Her projenin gereklilikleri farklı olabiliyor ve geliştirilen yazılımlarda kullanılan teknoloji yelpazesi günden güne genişliyor. Teknolojinin gelişmesi yazılım yapma biçimimizi de doğrudan etkilediği için işimizi kolaylaştıran yeni araçları hızlı bir şekilde öğrenip projelere adapte edebilmek kişisel başarımızda büyük bir rol oynuyor.

Bu yüzden hergün yeni bir teknolojinin duyurulduğu yazılım dünyasında öğrenmeyi ve hızlı öğrenmeyi öğrenen yazılımcılar büyük avantaja sahip oluyorlar. Öğrenmek derken bir teknolojiyi baştan sona her detayını kapsayacak şekilde öğrenmekten bahsetmiyorum. Hızlı bir şekilde ana konseptini kavrayıp onu projelere adapte edebilecek bir bilginin özümsenmesinden bahsediyorum. Gerisi artan bir şekilde günden güne üzerine koyarak gelecektir.

Tabi ki hızlı öğrenmek derken yüzeysel bir öğrenmeden söz etmiyorum. Öğrenilen teknolojinin özünü öğrenmek aklımızda mental modelin ve sağlam temelin oluşturulabilmesi için çok önemli. O ani kurtarmak için yüzeysel bir şekilde öğrenilen teknolojiler pek kalıcı olmuyor ve zamanla hafızalarımızdan uçup gidiyor. Bu yüzden öğrenmeyi öğrenmek, hızlı öğrenmek ve öğrenirken teknolojiin mental modelini akıllarda sağlam temele oturtmak çok önemli.

Mesleğe yeni başlayan veya yıllarca tecrübeye sahip farketmeksizin biz yazılımcılar öğrenme metodlarımızı sürekli gözden geçirmeli ve öğrenme biçimimizi ve hızımızı sürekli geliştirmeliyiz. Yeni yazılım dünyası bunu gerektiriyor.