Ocak ayının son cuma sabahı, Maslak’ta bir plazanın üçüncü katı. Açık ofiste sunucu uğultusu, mekanik klavye sesleri, çift monitörler, soğumuş filtre kahveler ve enerji içeceği kutuları.
Kıdemli Backend Mimarı Barış yarım saat önce İK ve Yazılım Direktörü ile yaptığı toplantıdan çıkmıştı. Yıl sonu performans notu masaya konmuştu: 2 (Gelişime Açık). Barış yedi yıldır şirketin bütün ödeme altyapısını sırtlamış, gece üçte çalan sunucu alarmlarına tek başına koşmuş, hafta sonu nöbetlerini tek başına tutmuştu. İK Direktörü Gizem Hanım ise buz gibi bir sesle konuşmuştu:
“Barış Bey, teknik bilginiz mükemmel. Ama şirket içi sinerjide yeterince proaktif değilsiniz. Çan eğrisi gereği bu yıl size yüzde 22 zam verebiliyoruz.”
Sokaktaki enflasyon çok daha yukarıdaydı. Yazılım Direktörü Cenk Bey başını öne eğmiş, çay bardağındaki kaşığı sessizce çevirmişti.
Barış yerine oturdu, siyah terminal ekranına baktı, soğuk kahvesini bir dikişte bitirdi. Yüzünde tehlikeli bir tebessüm belirdi.
“Demek proaktif değilim Gizem Hanım. Size proaktiviteyi şimdi göstereceğim.”
Thread.Sleep Zarafeti
Barış acemi gibi davranmadı. Veri tabanını silmedi, sunucuları yakmadı; loglar onu on saniyede yakalardı. Kodun içine görünmez bir sürtünme gömecekti.
Ödeme geçidi mikroservisinin kalbi olan ProcessPaymentTransaction() fonksiyonunu açtı. Satır 412’ye bir koşul ekledi: anlık kuyruk 5.000’i aşarsa sistem yarım saniye bekleyecekti. Thread.Sleep(500). Sıradan bir kullanıcı fark etmezdi. Ama dakikada 50 bin işlemin geçtiği bir sistemde bağlantı havuzları tek tek tükenecek, bellek şişecek, sistem hata vermeden yavaşça boğulacaktı.
Açıklama satırına kurumsal bir yalan iliştirdi:
// Regülasyon gereği PCI-DSS veri tutarlılık senkronizasyonu optimize edildi.
Commit başlığı masumdu: “Küçük güvenlik iyileştirmesi”. Sonra genç yazılımcıya yazdı.
“Mert, acil bir güvenlik yaması var. Hemen onaylar mısın?”
Mert koda bakmadan yeşil butona bastı. Kod incelemeleri çoğu zaman böyle yapılır. Deploy edildi. Bomba artık prodüksiyonda sessizce tıkırdıyordu.
Kış İndirimi
Üç hafta sonra yılın en büyük kampanyası başladı: “Büyük Kış İndirimi”. Reklamlar dönüyor, fenomenler video çekiyordu. Saat 14.00’te kapılar açıldı ve trafik saniyede 40 bin isteği aştı.
Tam o saniyede sepet ekranındaki yükleme simgesi dönmeye başladı. Dönüyor, dönüyor, bitmiyordu. Datadog ekranları kıpkırmızı oldu, banka API’leri zaman aşımına düştü: HTTP 504 Gateway Timeout. İlk on beş dakikada 4,2 milyon TL’lik sepet terk edildi. Destek kanalı alev aldı: “Kart çekildi ama sipariş oluşmadı!” “Genel Müdür arıyor!”
“Herkes War Room’a!” diye bağırdı Cenk Bey.
Git Blame
Projeksiyonda CPU yüzde 99’a dayanmıştı. Cenk Bey saçlarını çekiyordu.
“Sunucuları iki katına çıkarın! RAM ekleyin!”
“Ekliyoruz Cenk Bey, ama yeni makineler de iki dakikada donuyor. Kodun içinde bir tıkanıklık var!”
Barış masanın köşesinde bacak bacak üstüne atmış, porselen kupasından kahvesini yudumluyordu. Yüzüne sahte bir endişe yerleştirdi.
“Cenk Bey, mikroservis mimarisi çok karmaşıklaştı. Bütçe yüzünden refactor yapamamıştık, sizi defalarca uyarmıştım.”
“Felsefe yapma Barış! Dakikada 500 bin lira kaybediyoruz!”
O sırada genç bir yazılımcı terminale bir komut yazdı: git log -p -S "Thread.Sleep". Ekranda tek bir satır parladı: 7a9f21b - Küçük güvenlik iyileştirmesi. Yazar: Baris <baris@sirket.com>.
“Hocam… Ödeme kuyruğuna elle yarım saniyelik uyku konmuş.”
Bütün bakışlar Barış’a kilitlendi.
İş Kanunu ve TCK
“Bu kodu sen mi yazdın?”
“Evet Cenk Bey. Açıklamada yazdığı gibi, senkronizasyon için.”
“Sen bilerek bütün ödeme sistemini kilitledin! Bu sabotajdır!”
Gizem Hanım odaya girip hukuku aradı. Avukatların uyarısı sertti. 4857 sayılı İş Kanunu’nun 25/II-ı bendi, işçinin kendi isteği veya savsaması yüzünden işverenin malını otuz günlük ücretiyle ödeyemeyecek ölçüde zarara uğratmasını haklı fesih sebebi sayıyordu. Şirketin yarım saatteki kaybı Barış’ın on yıllık maaşını geçiyordu. Daha ağırı Türk Ceza Kanunu’nun 244. maddesiydi: bir bilişim sisteminin işleyişini engellemek veya bozmak bir yıldan beş yıla kadar hapis cezası öngörülen bir suçtu.
“Barış Bey, ellerinizi klavyeden çekin. Bilgisayarınızı siber güvenlik inceleyecek. Dava açıyoruz.”
Barış giriş kartını masaya fırlattı.
“İstediğiniz davayı açın Gizem Hanım. Bana yüzde 22 zam verirken düşünecektiniz.”
Kod Gider, Hata Kalır
Barış o gün binadan güvenlik eşliğinde çıkarıldı. Şirket haklı fesih gerekçesiyle kıdem ve ihbar tazminatı ödemeyeceğini bildirdi; avukatlar ceza tarafında da işin peşini bırakmayacaktı.
Ama şirketin zaferi kâğıt üzerindeydi. Gece apar topar silinen satır 412’nin yerinde bu kez veri tabanı deadlock vermeye başladı. Barış gecikmeyi altyapının öyle kritik bir noktasına bağlamıştı ki, o yarım saniye olmadan sistem tamamen çöküyordu. Şirket dışarıdan bir danışmanlık firması tuttu. Fatura 85.000 dolar geldi; Barış’ın istediği zammın on katı.
Danışmanlar üç gün sonra çözümü buldu ve satır 412’ye yarım saniyelik bir bekleme ekledi. Faturada adı “proaktif performans optimizasyonu” olarak geçiyordu.



