Öğrenmek için "o anı" beklemek

Öğrenmek için "o anı" beklemek

Çokça kez "yeni başlayan ve başlamak isteyenler" için içerik üretmediğim için eleştirildiğim, hatta konferanslara uygun bulunmadığım (ileri seviye konular seçiyormuşum) oldu. Ben her zaman kendim üretirken mutlu olduğum içerikler, konulara odaklandım.

Bugün Murat Demirci ile konuşurken, bu konu hakkında yazmak istediğimi fark ettim. Ve sanırım ilk kez "yeni başlayacak olanlara" naçizane görüşlerimi ifade edebileceğim bir konuyu ele alacağım.


20'li yaşlarımın 8-9 yılı üniversitelerde geçti. Üniversiteye girmeden önce alaylı olmuş, yazılım dillerine hakim biri olarak, bu süre içerisinde neredeyse her yıl şöyle bir döngü yaşadım:

Yazılım geliştirme gereksinimi olan derslere katılan, ancak programlama bilgileri sınırlı olan birçok arkadaşım da dönem başlangıçlarında "Eser ne olur bu dönem çalışalım, ben öğrenmek istiyorum artık" diyerek kendilerince "benim sponsorluğumu" almış olsalar da, ancak kritik sınavların önceki gününe kadar hiç aramaz sormazlardı.

Sınavdan önceki gece ise ev arkadaşlarımın hoş görüsüne sığınarak evde 9-10 kişi ders çalışırdık. Ben içimden iflah olmaz bir idealistlikle "neyse, en azından midterm/vize'de iyi not alamayacak olsalar da finallere yetişirler" derken; bir süre sonra tüm yarı dönemin müfredatını bir gecede odaklanıp çözmeye çalışan arkadaşlarım sanki onlara ben zorla bir şeyler öğretmeye çalışıyormuşçasına bir tavra bürünüp; neredeyse hep bir ağızdan "yaw şimdi aslında yarın hoca ne sorar onlara kafa yorsak... o soruları ezberlesek olmuyor mu? bunları sonra da öğreniriz" diyiverirlerdi.

Bildiğim kadarıyla hiçbiri hayatına "yazılım geliştirici" olarak devam etmiyor bugün.


Bir yandan da benim hikayem şu şekilde gelişti:

Yazılım geliştirmeye bilgisayarla bir şeyler yapabilmek için başladım. Önce BASIC, Pascal, C öğrendim. Sonra Visual Basic, Delphi. Photoshop, Corel Draw ve Flash öğrenerek önce grafikerliğe soyundum. Sonra arkadaşlarımın ısrarıyla HTML/CSS ile web sitesi yapmayı da portföyüme kattıktan sonra oyunlara modlar yapmaya başladım. Oyun camiasından tanıştığım birisi (Khan-F) bana ASP öğretti, JavaScript'i kendim öğrendim. Sonra daha yetenekli ve daha yaygın diye PHP'e geçmem gerekti.

Para kazanmam lazım dedikten sonra ise PHP ile başladığım işler Python, C# sonrasında DevOps pratikleri, ondan sonra yöneticilik vasıfları, ürün geliştirme bakış açıları, Agility ve Software Craftsmanship derken bugünlere öğrene öğrene ve proje yapa yapa geldim.


Herkesin öğrenme, öğrendiğini özümseme yöntemleri farklıdır. Yukarıda kendi hikayemi yazmış olmam lütfen "herkes böyle yapsın" gibi algılanmasın. Geleceğim nokta bu değil. Bu yazıda bahsedeceğim ve eleştireceğim nokta "öğrenmeyi bekleme durumu" olacak.

Toplulukta ve yaptığımız sunumlarda "nasıl başlayabiliriz" sorusu çokça kez herkese soruluyor. Bunun artık kemikleşmiş, hatta kendisinin komedisi haline gelmiş bazı şablon yanıtları bile var: "İngilizce ile başla" gibi.

Ancak bu soruyu bugün bana, yarın başka birine, ertesi gün başka birine soranların motivasyonu daha çok yukarıda bahsettiğim "yarınki sınavı geçecek kadar konuya zaman ayırmak isteyen" arkadaşlarımla benzeşiyor. "Öyle bir kilit yanıt alayım ki, hem çok basit olsun hem de yapınca yazılım öğrenmiş olayım" gibi.

Maalesef bunun bir süreç olduğunu, gün gün gelişme kaydedileceğini, nasıl hiç vücut geliştirmeyle ilgilenmemiş birinin bir günde muhteşem kaslı bir vücuda sahip olamayacağı, eline hiç gitar almamış birinin bir günde herhangi bir şarkıyı çalabilir hale gelemeyeceği gibi kabullenmek gerekiyor.

Kapak resmini "göklerden gelen İsa Peygamber" koyma nedenim de, "bir gün gelecek kurtarıcıyı bekleme" davranışına yaptığım vurgu aslında.

Bugün "bekleme" konumunda olan hiçkimse, birden bir aydınlanma yaşamayacak ve birden tüm yazılım külliyatını anlamıyorken anlayabilir hale gelmeyecek maalesef. O nedenle efor gerektirmeden, işin "yarın birden her şeyi çözeceğiniz" bir yanıtı varmış gibi bir çözümü varmışçasına "kolayını" aramayı bırakıp öğrenmeye başlamak gerekiyor.

Öğrenmeye başlamak da biraz "ellerini kirletmek"ten geçiyor. Uzaktan izleyerek değil, örneğin bir takım projeleri alıp bozsalar bile bazı denemelerde bulunan arkadaşlar oluyor. Onları çok takdir ediyorum.

Örnek vereceğim, "açık kaynak'ı açık kaynak yapıyoruz" parolasıyla açık-kaynak.org'da arada GitHub üzerinde bazı maddeler açtık, birçok insan katkıda bulundu. Bazı noktalarda takılanlar da Telegram'dan benimle iletişime geçip yardım istiyorlar. Elimden gelen yardımı yapmaya çalışıyorum zamanım el verdiğince.

Projelerle başlamak isteyenler için kaynak bolca var, örneğin açık kaynak projeler veya good first issue'den bunlara da bakabilirsiniz.

Hackathonlara katılanlar, YouTube'dan bir şeyleri izlerken bir yandan öğrendiklerini taklit edip yeni bir şeyler yapmaya çalışanlar, kitaplardan okuyup kavramsal olarak konuları özümseyip sonra onu yazılıma dökmeye çalışanlar, v.b. hep kendi yöntemlerince bir şeyleri "ellerini kirleterek" yapmaya çalışıyor.

Ellerini kirletenler her gün birer adım atıp 3 ayda 5km yol yaparken, ışınlanabileceğini düşünenler ve ışınlanmayı bekleyenler maalesef yol gidememiş olacak.

O nedenle benim naçizane görüşüm, "hiç gelmeyecek ilham'ı" ya da "motivasyon konuşmasını" beklemeyi bırakıp artık bir şeyleri öğrenme yolunda "ellerini kirletmeye" başlamak olacak.