Development tarafında zaman geçirdikçe bazı şeyler daha görünür oluyor. Teknoloji seçimi kadar, problemi nasıl tarif ettiğin ve küçük kararları nasıl verdiğin de önemli.
Belirsizliği küçültmek
İyi developer sadece verilen task'ı kapatmaz. Önce problemin gerçek sınırlarını bulur:
- Bu iş hangi kullanıcı davranışını değiştirecek?
- Hangi veri yanlış gelirse sistem kırılır?
- İlk versiyon ne kadar küçük olabilir?
- Sonraki versiyonun önünü kapatan karar var mı?
Bu sorular koddan önce gelir, ama kod kalitesini doğrudan etkiler.
Stack değil, problem alanı
.NET, Go, React, Svelte, Flutter veya WebGL. Araçlar değişebilir. Önemli olan, aracın problemi sadeleştirip sadeleştirmediği.
type GoodDecision = {
solvesRealProblem: boolean;
easyToExplain: boolean;
cheapToChangeLater: boolean;
};
Bir teknoloji seçimi bu üç soruya makul cevap veriyorsa genellikle doğru yoldadır.
Deneyimin pratik tarafı
Deneyim sadece daha fazla kod yazmak değil. Ne zaman duracağını bilmek, eksik bilgiyi görünür yapmak ve sistemi başkasının da sürdürebileceği halde bırakmak.
Bu siteyi de bu yüzden sadece CV gibi değil, projeleri ve notları bir araya getiren sade bir alan olarak kurguluyorum.