Devre Tahtasından Kod Satırına

O Genç Aşığa Bir Mektup: Kontrol Etmeye Çalışmayı Bıraktığın O Anlar


Sevgili o meraklı üniversite öğrencisi ben, bu satırları yazarken bile garip bir huzur hissediyorum. Şu anki benim – İstanbul’daki, kahvesiyle projeyi derinlemesine inceleyen Selda – geçmişteki sana bir şeyler anlatmak istiyor. Ve bu seferki konu, hepimizin kaçınılmaz olarak karşılaştığı o ince kırmızı çizgi: Kontrol.

Hatırlıyorsun değil mi? Her şeyi tasarlamak zorunda olma takıntısını. Bir sensörden gelen verinin mükemmel bir döngüde gelmesi gerektiğine inanma zorunluluğunu. Bir algoritmanın en ince ayrıntısına kadar öngörülebilir olması gerektiğine dair o takıntısal ısrarı. Sanki bizler, doğanın veya mekanik sistemlerin kendilerine bir senaryo yazılmasını emreder gibiydik.

Ve biz bunu yapmaya çalışırdık. Her if-else bloğunu, her PID kontrolünü, her veri paketini kusursuz bir matematiksel güzellikle dizmeye çalışırdık. Eğer bu mükemmeliyetçi kontrol takıntımız olmasaydı, belki de o devasa projelerimizi yarım bırakmıştık. Ama kontrol edemediğimiz şeyleri de kodlamaya çalışmak… İşte bu kısım, en çok sistemi çökertebilen kısım oluyor.

Rastgeleliğin Kod İçindeki Yankısı

En net hatırladığım anlardan biri, ilk Raspberry Pi projemizin ortasındaydık. IoT tarafında küçük bir veri toplama sistemi kurmaya çalışıyorduk; çevresel koşulları okuyup bunu bir sunucuya loglayacaktık. Her şey harika gidiyordu, veriler temiz geliyordu. Ta ki o gün geldi ki, ortam sıcaklığında beklentinin %10 altında bir değişim oldu. Benim mantığım bu durumu bir 'gürültü' olarak algıladı ve sistemi o noktada stabilize etmeye çalışarak zorladım. Sonuç? Mikrodenetleyicinin buffer’ı taşmış, seri porttan sürekli anlamsız garbage data akmaya başlamış.

O anda, her şeyin beklendiği gibi gitmesi gerektiğine olan benim inancım çöktü.

Oysa o gürültü, ben onu bastırmaya çalışırken aslında sistemin nefes almaya çalıştığı doğal bir vücut ısısıydı. O rastgele gelen o küçük sapmalar, benim idealize ettiğim temiz bir kare çizgi değildi. Onlar, gerçek dünyanın kaotik ve güzel karmaşıklığının dijital bir izdüşümüydü.

Veriden Kasıtlı Sapmaya Geçiş

Bu projeler sayesinde öğrendim ki, bir sistem ne kadar çok değişkenle karşılaşırsa o kadar "sabit" olamaz. Sabit olan tek şey, bizim onu gözlemleme biçimimiz ve onunla kurduğumuz iletişim ağıdır.

Bundan sonraki projelerimde, özellikle de veri akışını yorumlarken büyük bir değişim oldu. Artık hedefim %99 başarı oranı değil; o %1’lik sapmanın ne anlattığını anlamak oluyor. O beklenmedik hata kodu, o okunamayan sensör değeri bile artık bir başarısızlık değil; sadece çözülmeyi bekleyen yeni bir parametre.

Eğer o genç halim bu yazıyı okusaydı, muhtemelen hemen bir simülasyon kurup o sapmayı yine düzeltmeye çalışırdı. Ama artık biliyorum ki, bazen en büyük algoritmik ilerleme, "Bu sefer sadece kaydı alıyorum, müdahale etmiyorum" demekle başlar.

Kontrolü bırakmak; teslimiyet demek değildir. Aksine, sistemin bütününü kucaklayarak, onunla dans etmeye başlamaktır. Ve bu dansın ritmi her zaman bizim öngörülerimizin ötesindedir.