Yazılımcı Maceraları: Eskiyi Yenilemek mi, Baştan Yazmak mı?

Bir çok yazılımcı ile bir çok macera yaşadık. Denk geldiğim en büyük maceralar hep eski bir sistemi yeni bir sisteme geçirme çabasıydı. Çünkü eski sistem adı üstünde eskide kalmış ama aynı zamanda sürekli problem çıkarıyor.

  • Ön görülemeyen hatalar,
  • Sürekli bir yavaşlık,
  • Sürekli kullanıcı şikayetleri,
  • Üzerine yeni bir özellik eklemeye çalıştıklarında patlayan diğer özellikler vs…

Yeni sistem yazılmaya başlanır, pattern’ler, kuyruklar, validation’lar vs… Yazılım ekibinde bir iki kişi önderlik yapar ve proje yenilenmeye başlar. Asıl sorun şu; bu yenilenme işi yıllardır devam ediyordur ve yine sistem çökmeleri, yine yavaşlıklar, yine kullanıcı şikayetleri, yine yeni yazılımcı arayışları.

Ne değişti peki?

Mesele aslında yeni teknolojileri gerçekten bilmek mi yoksa teorik bilgilerle, ezberlenmiş kod bloklarıyla sistemi yenilemeye kalkmak mı?

Kaç kişi google’a bakmadan bir extension yazıyor, kaç kişi bir önceki kodu açıp bakmadan jwt entegrasyonunu tam olarak yapıyor, kaç kişi bir storage procedure google’a bakmadan yazıyor, kaç kişi internet yokken uygulamaya yazabiliyor?

Eski bir sistemde hatalar düzeltilip sistem stabil hale getirildikten sonra, eski sistem yeni bir proje oluşturulmadan yeni bir ortam üzerinde (test ortamı) ve kendi düzeltilmiş kod altyapısı üzerinden çok da dallandırıp bulandırmadan aşama aşama yeni yapıya geçmek mi, yoksa bir kenarda o çalışsın biz yenisini yazacağız diye planlayıp tüm kurguyu sıfırdan tasarlayıp yeni projede oluşturmak mı?

Uzun uzun bir makale hatta kitap yazılabilecek bir konuyu özetlediğimin farkındayım bunu ayrıca not düşmek isterim.

Ne hikmettir ki bu yeni yapılan projeler eskisinden de beter oluyor? Neden? O kadar da çok şey bilmiyor muyuz acaba?

Eski projeleri yenilemeyelim demiyorum, çalışıyorsa dokunma da demiyorum. Dediğim şey basitten başla ve eğer kompleks bir yapı artık zorunluluksa bunu yazarken anadilin gibi yaz. Yoksa herkes bir önceki yazılan projeyi açıp kodlara bakıp yenisine entegre edebilir, herkes internet varken proje geliştirebilir ama burada en önemlisi herkesin her şeyi öğrenebileceğidir.

Udemy’den alınan bir kursu her seferinde tekrar tekrar açıp yeni bir proje geliştirebilirsin. Mesele ekrana “Merhaba Dünya!” yazdırırken hissettiğin rahatlığı proje sonuna kadar hissedebilmektir. İlla ki bakacağız internete, kaynaklara. Kapat interneti proje geliştir demiyorum ama bir teknoloji yeniyse ve kullanacaksan iyice özümse, öğren ve öyle uygula. Bir kuyruk sisteminin ansiklopedik tanımını bilmene gerek yok ama bir kaç kere kullandıktan sonra minimum kaynağa ihtiyaç duyarak yaz.

Ayakkabılarını nasıl birden fazla desenle bağlayabiliyorsan uygulamanı da öyle yaz.


Yorumlar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir