Halil Han BADEM
Selam!
Nereden başlayacağını bilememek sorunu aslında tam olarak ne yapmak istediğini ve neye ihtiyacın olduğunu bilememekten kaynaklanıyor. Her hedef için farklı bir yol çizilmesi gerekiyor. Olabilecek tüm senaryolar için tek bir formül çizilemez. Çalışmalarım için bu sorununuzu not aldım 🙂
Aşırı fazla seçenek olduğundan dil ve framework seçmekte zorlanmanız normal. Bu yüzden öncelikle projeniz için kriterleri belirleyin. Mesela benim çalıştığım yerde big data altyapısı kurmam gerekiyor ve aşırı fazla platform seçeneği var. Hepsini denemek imkansız olduğu için adım adım kriterler belirleyip eleme yapıyorum:
- Projenin asıl amacı nedir?
- Projenin olmazsa olmaz kriterleri nedir? (Cross-platform? Yüksek performans? Açık kaynak? gibi...)
- Projenin kısıtları nedir? (Bütçe? Ekip hangi dilleri biliyor? gibi...)
Bu amaç ve kriterlerlere uyan bütün alternatifleri bulup karşılaştırma yapacaksınız. Benchmarklara bakıp, kullananların yorumlarını okuyup (quora, reddit vs), use case'leri görüp, örnek projelerin kaynak kodlarını inceleyip sıralama yapacaksınız. Sonra size en mantıklı gelen seçenekten başlayarak dökümantasyonlara bakacaksınız. Baktınız amacınıza uygun gibi duruyor, küçük bir şey kodlayın ve çalıştırmayı deneyin. Sonra bunu diğer bir iki seçenek için de yapın. O noktadan sonra zaten seçim yapabilir hale geleceksiniz.
Ama her şeyi önceden görmek pek de mümkün olmuyor. Mesela projeyi scale etmeniz gerekti, bambaşka bir metoda ihtiyacınız olduğunu farkettiniz (reactive, async...), kullandığınız teknolojilerin iyi uyuşmadığını farkettiniz gibi gibi sorunlarla karşılaşmak mümkün olabiliyor. Bunun için mutlaka deneyimli kişilere danışmak sizi vakit harcamaktan kurtaracaktır.