Tek Satır Mantık Yazmadan Önce Verim Bana Yalan Söylüyordu

Uzun bir süre sorunlarımın kodumda yaşadığına inandım. Sonuçlar yanlış çıktığında mantığımı, modellerimi, gurur duyduğum o zekice parçaları didik didik aradım. Asıl suçlu ise neredeyse her zaman tüm bunların bir katman altında, sessiz ve incelenmemiş bir halde duruyordu: verinin kendisi. Temiz görünüyordu. Değildi. Ve onun üzerine inşa ettiğim her şey o yalanı sadakatle miras aldı.

Bu, var olan en sıkıcı türden bir başarısızlıktır ve onu bu kadar tehlikeli kılan da tam olarak budur. Kimse zamanını sayı satırlarını denetleyerek geçirmek istemez. Bu yüzden kimse yapmaz ve çürüme orada, en altta, her şeyi ayakta tutan o yerde öylece oturur.

Temiz verinin efsanesi

Ham piyasa verisi içe rahatlık veren bir düzenlilikte görünür. Düzgün satırlar, tertipli zaman damgaları, sırayla yürüyen makul görünümlü sayılar. Bu düzenlilik bir kostümdür. Gerçek dünyadan, ara sıra bozulan gerçek sistemlerden toplanan veri, kendini ilan etmeyen küçük bozulmalarla doludur: anların basitçe eksik olduğu boşluklar, yinelenen kayıtlar, kayan ya da hizadan çıkan zaman damgaları, bir kesinti sırasında donup tekrar eden değerler, ara sıra ortaya çıkan imkânsız sayılar, hafifçe yerinden oynamış koca koca bölümler.

Bunların hiçbiri bir uyarı etiketiyle gelmez. Tam olarak iyi veri gibi görünür, çünkü aynı düzgün satırların içinde oturur. İçerik dürüst olmasa bile biçim dürüsttür ve ilk bakışta gördüğünüz tek şey biçimdir.

Çöp girer, kendinden emin çöp çıkar

İçselleştirilmesi gereken şey, sistemin verinin yanlış olduğunu bilmediğidir. Bilemez. Ona ne verirseniz alır ve bozulmayı, gerçeğe uyguladığı tam olarak aynı titizlikle işler, ardından çürümenin üzerine inşa edilmiş temiz, kendinden emin, profesyonel görünümlü bir sonuç üretir.

İşte bütün tuzak tam burada. Çıktı iyi görünür. Bozulma, sizi soruna yönlendiren bariz, çığlık atan hatalar olarak yayılmaz. Makul yanlış cevaplar olarak yayılır — tamamen inandırıcı olan, içgüdüsel kontrolünüzü geçen, üzerine seve seve bir sonrakini inşa ettiğiniz sonuçlar. Yanlışlık yüzeye çıktığında, eğer hiç çıkarsa, altında duran zeminin sağlam olduğunu varsayan katman katman emeğin altına gömülmüş olur.

Makullüğün içinde saklanan hatalar

Yavaş yavaş öğrendim ki tehlikeli veri hataları bariz olanlar değildir. Sıfır fiyat, bütün bir eksik gün, açıkça saçma olan bir değer — bunları yakalarsınız, çünkü ilk bakışta saçmadırlar. İlk akıl sağlığı kontrolüne takılırlar.

Sizi asıl yaralayan hatalar makul olanlardır. Yanlış ama yine de inandırıcı bir aralığın içinde kalan bir değer. Tek birim kaymış bir zaman damgası. Yukarı akışta bir şeyin sessizce bir tahminle doldurduğu bir boşluk. Bunlar, sahip olduğunuz her akıl sağlığı kontrolünün içinden dosdoğru süzülüp geçer, çünkü tam olarak meşru veri gibi görünürler — onları özellikle başka bir şeyle karşılaştırıp doğrulamaya gitmedikçe gerçekten ayırt edilemezler. En pahalı bozulma, doğru görünecek kadar nazik olan türdür.

Binanın yanlış katında hata ayıklıyordum

Utanç verecek kadar uzun bir süre, bir şey tuhaf çıktığında içgüdüm mantığımda bir hata aramaya gitmekti — sistemin ilginç, sofistike kısmında, üzerine düşünmeye değer bulduğum o kısımda. Hata neredeyse hiç orada olmadı. Altta, veride, girdiyle ilgili doğrulamaya hiç zahmet etmediğim bir varsayımın içinde duruyordu.

Aslında, temellerinden geçen bir çatlağın kaynağını bir binanın üst katlarında arıyordum. O zarif kodu defalarca inceler, hiçbir yanlışlık bulamaz ve gitgide daha çok şaşkına dönerdim — çünkü onda yanlış bir şey yoktu. Kötü girdileri tam olarak tasarlandığı gibi kötü çıktılara doğru bir şekilde işliyordu. Mantık masumdu. Üzerinde durduğu zemin suçluydu.

Veri kalitesi bitirdiğiniz bir görev değildir

Daha alçaltıcı kavrayışlardan biri, veriyi bir kez temizleyip yola devam etmediğinizdi. Bu bir hayaldir. Yeni veri gelmeye devam eder ve yeni bozulmalarla gelir. Bir kaynak sessizce biçimini değiştirir. Yukarı akıştaki bir sağlayıcı bir kesinti yaşar ve sonra boşluğu kuşkulu bir şeyle geriye doldurur. Aylarca güvenilir olan bir şey, sıradan bir salı günü yepyeni bir biçimde bozulur.

Anladım ki veri kalitesi, listeden işaretleyip geçtiğiniz tek seferlik bir temizlik değildir. Sürekli bir disiplindir — her girdiye karşı, sonsuza dek sürdürülen, devam eden bir şüphe duruşudur, çünkü izlemeyi bıraktığınız an, tam olarak yeni ve yaratıcı bir bozulmanın itiraz görmeden içeri girdiği andır.

Acımasızca doğrula, hiçbir şeye güvenme

Pratik çözüm, her girdiyi temiz olduğu kanıtlanana kadar suçlu kabul etmekti. Boşlukları kontrol et. Yinelenenleri kontrol et. İmkânsız değerleri, istikrarlı bir şekilde ileri gitmeyi başaramayan zaman damgalarını, bir sayının gerçek verinin asla olmayacağı bir biçimde değişmeyi bıraktığı şüpheli bölümleri kontrol et. Ve en önemlisi, bu kontrolleri doğrudan boru hattına inşa et ki bozulma, aylar sonra artık izini süremeyeceğiniz bir sonuçtaki açıklanamayan tuhaflık olarak keşfedilmek yerine, geldiği anda ön kapıda yüksek sesle yakalansın.

Bu, sıkıcı, savunmacı, son derece görkemsiz bir iştir. Aynı zamanda aşağı akıştaki her şeyin kayaya mı yoksa kuma mı inşa edileceğine karar veren iştir. Kapıdaki yüksek sesli bir başarısızlık bir armağandır. Miras alıp üzerine inşa ettiğiniz sessiz bir başarısızlık ise yavaş bir felakettir.

Daha derin ders: temel, tavanı belirler

Bütün bunların altında yatan ilke basit ve affetmezdir. Üstteki modeldeki hiçbir parlaklık miktarı, alttaki verideki çürümeyi telafi edemez. İnşa ettiğiniz her şeyin kalitesi, ona beslediğiniz şeyin kalitesiyle kesin olarak sınırlanmıştır. Kötü girdilerden akıl yürüterek çıkamazsınız; yalnızca onların üzerine daha kendinden emin, daha ayrıntılı bir yanlışlık üretebilirsiniz.

Yani temiz girdileri garantilemenin o donuk, nankör emeği, eskiden ona davrandığım gibi asıl işin altında kalan bir şey değildir. Asıl işin temelinin ta kendisidir ve yukarıdaki tüm yapı, ancak o taban kadar dürüsttür. Eskiden ilginç kısımlara ulaşmak için onu atlamak isterdim. Şimdi anlıyorum ki altlarındaki sıkıcı kısım yalan söylüyorsa ilginç kısımlar değersizdir.

— Sinyal yok, getiri yok, yatırım tavsiyesi değildir.