Kariyerimin en pahalı hatası bir kod satırı değildi; bir ‘evet’ti. O ‘evet’, bana yalnızca para kaybettirmekle kalmadı, aynı zamanda yıllarca süren itibarımı da ciddi şekilde sarstı. Bu, bir zamanlar gururla üzerinde çalıştığım ve “BurnCPU” adını verdiğim kişisel projemin ilk 100 kullanıcısına ulaştığımda yaşadığım bir dönüm noktasıydı.
Bugün, aradan geçen zamanın ve tecrübenin verdiği mesafeyle, o günkü kararlarımı ve sonrasında öğrendiklerimi net bir şekilde görebiliyorum. Bu yazı, sadece teknik bir hata analizi değil; aynı zamanda pragmatik bir karar verme süreci, trade-off’lar ve bir uzmanın cesur bir duruşunu paylaşma niyetindedir. Amacım, tartışma yaratmak, düşündürmek ve belki de sizin de benzer hatalardan kaçınmanıza yardımcı olmaktır.
O ‘Evet’ Ne Zaman Geldi?
BurnCPU, başlangıçta kendi ihtiyaçlarım için geliştirdiğim, sunucu kaynaklarını optimize etmeye yönelik bir araçtı. Amaç, idle CPU zamanını verimli kullanarak maliyetleri düşürmekti. Geliştirme süreci keyifliydi ve zamanla beklentilerin ötesine geçti. İlk beta kullanıcıları olumlu geri bildirimler vermeye başladığında, heyecanım doruktaydı. Ve işte o an geldi; bir yatırımcı, projemin ilk 100 kullanıcısına ulaştığı bu dönemde, büyük bir ölçeklendirme ve pazarlama için finansal destek teklif etti.
Teklif cazipti. Projeyi daha geniş kitlelere ulaştırma, daha fazla özellik ekleme ve hatta belki de ticarileştirme fırsatı doğmuştu. Karşımdaki kişi, sektörde tanınan ve başarılı bir isim olarak lanse ediliyordu. Teklifin detaylarına çok derinlemesine inmeden, “evet” dedim. İşte kariyerimin en pahalı hatası, bu basit kelimeyle başladı.
İlk 100 Kullanıcıdan Sonrası: Beklenmedik Sorunlar
İlk 100 kullanıcıya ulaştığımızda, sistem hala benim kişisel VPS’imde, mütevazı bir konfigürasyonla çalışıyordu. Ancak yatırımcının devreye girmesiyle birlikte, kullanıcı sayısı hızla artmaya başladı. Birkaç hafta içinde BurnCPU’nun kullanıcı sayısı binleri buldu. Bu, benim için hem bir başarı hem de aynı zamanda bir kabusun başlangıcıydı.
Beklenmedik bir şekilde, sunucu metriklerinde ciddi dalgalanmalar görmeye başladım. CPU kullanımı tavan yapıyor, response time’lar inanılmaz derecede uzuyordu. İlk başta bunun geçici bir yoğunluk olduğunu düşündüm. Ancak sorunlar devam etti, hatta arttı. Kullanıcılar hata raporları göndermeye başladı: “Uygulama çalışmıyor,” “Hesabıma erişemiyorum,” “Verilerim kayboldu.”
Sorunun Kökleri: Altyapı ve Mimari Çöküşü
Detaylı incelemelerim sonucunda, sorunun basit bir trafik artışından çok daha derin olduğunu anladım. Kullandığım mimari, bu ölçekte bir yükü kaldırmak için tasarlanmamıştı. PostgreSQL veritabanı bağlantı havuzları dolmuş, Nginx konfigürasyonları yetersiz kalmış ve hatta bazı kritik SystemD servisleri beklenmedik şekilde çöküyordu. Özellikle, daha önce hiç karşılaşmadığım cgroup memory.high limit aşımları, servislerin beklenmedik şekilde sonlanmasına neden oluyordu.
Bu noktada, basit bir optimizasyonla durumu kurtaramayacağımı anladım. Projeyi bu ölçekte ayakta tutabilmek için baştan aşağı bir altyapı ve mimari değişikliği gerekiyordu. Ancak bu, yatırımcının beklediği hızlı büyüme ve pazarlama hamleleriyle hiç de uyumlu değildi. Kendimi, sağlam bir temel üzerine inşa etmek yerine, sürekli sızan bir gemiyi yamalamaya çalışırken buldum.
Dersler ve Yeni Bir Bakış Açısı
BurnCPU projesi, finansal olarak büyük bir kayba yol açsa da, kariyerimdeki en değerli dersleri de beraberinde getirdi. O “evet” kararımdan sonra, bir projeyi ölçeklendirmenin sadece daha fazla sunucu eklemek olmadığını, aynı zamanda altyapının, mimarinin ve operasyonel süreçlerin bu büyümeye hazır olması gerektiğini acı bir şekilde öğrendim.
Artık bir projeye başlarken veya bir teklifi değerlendirirken şu soruları kendime soruyorum:
- Bu altyapı, beklenen en kötü senaryoda bile ayakta kalabilir mi?
- Mevcut mimari, gelecekteki büyüme ihtiyaçlarını karşılayacak esnekliğe sahip mi?
- Teklif edilen büyüme hızı, teknik hazırlığımızla ne kadar uyumlu?
Bu deneyim, beni daha temkinli, daha analitik ve daha pragmatik bir karar verici haline getirdi. O ilk 100 kullanıcı, bana yalnızca bir araç satmanın ötesinde, gerçek dünya problemlerini çözmenin ve bunu sürdürülebilir bir şekilde yapmanın önemini öğretti.
Peki senin kariyerindeki en pahalı hatan neydi? Bir ‘evet’ mi, bir ‘hayır’ mı, yoksa başka bir şey mi? Düşüncelerini yorumlarda paylaş.