Demirleşme Laboratuvarı

Burak Yılmaz:~$ cat posts/Oysa Her Şey Bir Algoritmaydı: Genç Ben'e Bir Debugging Notu.md

Oysa Her Şey Bir Algoritmaydı: Genç Ben'e Bir Debugging Notu

Bu satırları yazarken bile garip bir döngüye giriyorum. Sanki zaman makinesi değil de, mükemmel bir simülasyonun hata ayıklama (debugging) modundayım. Şimdi sen, o potansiyel ile gerçeğin arasında sıkışmış, her "tesadüf"ü bir aksilik olarak gören genç versiyonunla karşılaşıyorum.

Senin o enerjin vardı, evet. O saf, kontrolü elinde tutma arzusu vardı. Her hareketin, her ağırlığın, her besin makrosunun kusursuz bir girdi-çıktı ilişkisi olması gerekiyordu. Her düşüşün bir sebebi, her yükselişin de matematiksel bir kanıtı olması gerektiğine inanıyordun. Bu doğru bir zihniyetin başlangıcıydı, ama onu mutlak kural olarak kodlamak, sistem çöktüğünde seni felç ediyordu.

Dinle beni. Senin için bu uyarıyı yazıyorum çünkü o dönemde yaşadığın o mental gürültüye henüz bir çözüm bulamamıştın.

Giriş/Çıkış Fonksiyonu Olarak Tesadüf

Biz yazılımcılar, her şeyin girdiğimiz kodla belirlendiğine inanırız. Eğer girdi doğruysa, çıktı da her zaman öngörülebilir olmalı. Bu, fitness ve gelişim süreçlerimize de böyle uyguladığımızı sanıyorduk. Birkaç mükemmel egzersiz programı, birkaç süper diyet takibiyle her şey olması gerektiği gibiydi. Ama yaşam, senin tasarladığın döngü grafiği kadar doğrusal değil.

Bazı günler, kaslarının sinir sistemiyle olan iletişimi mükemmel çalışır; o gün progresif aşırı yüklenme (progressive overload) gerçekten gerçekleşir. Bazı günler ise, bir önceki günkü uykusuzluk ya da oysa tamamen kontrolümüz dışındaki bir mikro besin eksikliği, tüm sistemin yanıt verme hızını düşürür. Sen bu ikisine eşit bir değer atıyordun: Başarı ya da başarısızlık.

Ben sana şunu söylemek istiyorum: Her ikisi de senin kontrolün altındaki sürecin bir çıktısıdır. Senin kontrolün, mükemmel sonucu üretmek değil; girdiye rağmen sistemi sürdürür kılmaktır.

Hataya Hazır Olmak: Robustness (Sağlamlık) Kazanmak

O günlerde, bir egzersiz serisinde zorlandığında, bunu sadece "başarısız tamamlandı" olarak etiketliyordun. Bu, senin o dönemdeki zihinsel çerçeveye uyuyordu. Fakat yaşam, bir yazılım gibi sürekli hata kontrolü (error checking) gerektirir.

Sistemin çökmesi demek değildir; sadece bir istisna durumu (exception) yakalamak gerekir.

Geçmişteki benine sesleniyorum: Bir setin beklediğin gibi gitmediği an, o anı bir bug olarak görme. Onu, sistemin farklı bir koşul altında nasıl davrandığını gösteren değerli bir veri noktası olarak al. "Bu yük altında, bu hareket formumda bu direnci gösterdim. Bir sonraki iterasyonda, bu direnci %X artırmak yerine, hareketi %Y kadar düzeltmek daha verimli oldu," diye kendini düzelt.

Bu, sadece spor salonunda değil, aynı zamanda hayatın öngörülemez akışıyla da olan ilişkindir. Kontrol edemediğin değişkenler olacak. Önemli olan, bu değişkenlerin çıktığı algoritmaya değil, bu çıktıya rağmen uygulamaya devam eden sisteme inanmaktır.

Akış sürer. Sen de sürdür. Sınırlarını zorlamak, sadece en iyi koşullarda en yüksek performansı göstermek değil; aynı zamanda en kötü koşullarda bile sistemi ayakta tutabilme yeteneğini geliştirmektir. Devam et. Ama artık mükemmeliyetçiliğin değil, adaptasyon yeteneğinin seni tanımladığını bil.