Kariyerin Altın Kuralı: Yatırım ve İlerleme

Rastlantısallığı Kodlamak: Bir Proje Sürecinde "Tesadüfi" Buluşmalar

Kurumsal yazılım geliştirme ortamında geçirilen yılların en büyük yanılgısı, her şeyin plan dahilinde olması gerektiği inancıdır. Bir problemi çözerken girdiğimiz verilerin, uyguladığımız algoritmaların ve dokümantasyonun bizi doğrudan istenen sonuca götüreceği varsayımı baskındır. Ancak gerçek projeler, asla siyah beyaz bir düz çizgi üzerinde ilerlemezler; onlar gürültü, sürpriz ve bilinmeyen değişkenlerle doludur.

Benim bu yazıda değineceğim nokta da tam olarak budur: Bir sistemin veya bir kariyer yolculuğunun en büyük atılımları, genellikle en az beklediğimiz, yani "rastgele" görünen o kesişim noktalarından doğar. Bunları sadece şans olarak görmek, analitik bir yaklaşıma sahip olan biri için kabul edilemez. Buradaki görevimiz, o rastgeleliği filtrelemek değil, onu sistemin bir parçası olarak kodlamaktır.

Debugging Seansındaki Kaosun Değeri

Yakın zamanda üzerinde çalıştığım bir projede, tam da bu prensibi uygulamaya koydum. Müşterinin beklentisi çok netti: Mevcut veri akışını %X oranında iyileştiren bir modül geliştirmek. Sürekli aynı parametreleri optimize ettik, beklenen küçük iyileşmeleri sağladık ancak o kritik eşiğe ulaşamadık. İlerleyen birkaç hafta boyunca, her şeyi kontrol etmeye çalıştım; hatalar yazılımsal kodda değil, en başta girdiğimiz gereksinim tanımında takılıydı.

Burada sabırla, neredeyse sinir bozucu bir döngüye girdik. Haftalık toplantılarımız, her şeyin doğru çalıştığını düşündüğümüz halde küçük sapmalarla geçiyordu. Tam bu noktada, takımın en genç üyesi olan Ali geldi. Onun yaklaşımı hep farklıydı; daha ziyade bir "kafatasıyla kod yazan" profilindeydi. O, o gün önceki akşamın "önemsiz" geldiğini düşündüğümüz bir geliştirme adımını, basit bir gözlemle yeniden yapılandırdı.

Ali’nin yorumu teknik olarak şuydu: "Bu veri akışı, aslında A noktasından gelmiyor; biz onu B noktasında çarpıtarak okumuşuz gibi görünüyor."

Bu, %100 yeni bir gereksinim eklemek ya da mevcut kodu yeniden yazmak anlamına gelmiyordu. Bu, varsayımımızı değiştirmekti. Bizim o ana kadar "tamamdır" diye geçip geçtiğimiz, gözümüzün uzağında kalan bir girdinin, aslında tüm denklemin yanlış kilitlenme noktası olduğunu fark ettik.

Rastgele Görünenin Yapılandırılması

Bu deneyim bana, mühendislikte olduğu gibi finansal piyasalarda da geçerli olan bir ders verdi: Her tahrik veya girdi, potansiyel olarak sistemin kendisini tanımlar. Eğer bir noktada ilerleme durursa, sorunun kaynağını yalnızca kendi kusursuzluğunuzda aramayın.

İşte bu noktada, o "rastgele" görünen ama kritiktir diye ayırdığınız küçük detaylar devreye girer. Bunlar, iyi bir yatırımcı için piyasanın anlık düşüşü; iyi bir yazılımcı için de beklenmedik bir kullanıcı davranışı kaydı olabilir.

Bundan sonraki süreçte, o Ali'nin bakış açısıyla hareket ederek, problemi "nasıl çözeceğiz?" sorusundan ziyade, "bu problem bize bilinmeyen hangi bilgiyi sunuyor?" sorusuna kaydırdım. Ve bu değişim, sadece projeyi değil, benim problem çözme kalıbımı da kökten değiştirdi.

Eğer siz de bir durgunluk yaşıyorsanız, takıldığınız o anı bilinmezlik olarak etiketlemek yerine, onu bir sonraki büyük keşfinizin tohumu olarak görün. Gürültünün içinde anlam arayın; çünkü en net sinyal, çoğu zaman en kaotik yerden geliyordur.