Kendi ürününü tek başına kurmak: Looplio deneyimi
API, web ve mobili tek başına yürüten bir geliştiricinin dürüst günlüğü; tek kişilik ürün geliştirmenin getirdiği ve götürdükleri.
Looplio’yu bir yıldır tek başıma geliştiriyorum: Laravel ile yazılmış bir API, bir web uygulaması ve React Native ile yazılmış bir mobil uygulama. Backend de benim, frontend de, mobil de, dağıtım da. Bu yazı bir başarı hikâyesi değil — tek kişilik ürün geliştirmenin gerçekte nasıl bir şey olduğuna dair dürüst bir günlük.
İyi yanı: hiçbir karar kaybolmuyor
Tek başına çalışmanın en somut faydası, kararların hiç yere düşmemesi. Bir mimari kararı verdiğimde, onu bir toplantıda savunmam, bir belgeye yazıp onay beklemem gerekmiyor. Aklımdaki resimle koddaki resim arasında çeviri kaybı yok.
Bu, küçük bir ürün için gerçek bir hız demek. On dört yıllık birikimi, kimseye danışmadan doğrudan koda çevirebiliyorum. Bir özelliğin API’den mobile kadar uçtan uca nasıl davranacağını tek bir kafada tutabiliyorum.
Bu hız özellikle prototip aşamasında belirginleşti. Bir fikri denenmiş bulmak için tasarım toplantısı, ticket açma, sprint planlaması beklemek yok. Akşam aklıma gelen bir şeyi ertesi sabah kodda görüyorum. Küçük takımlarda bile bu sürtünme azımsanmayacak kadar büyük.
Zor yanı: kör nokta yok ama düzeltici de yok
Aynı madalyonun öbür yüzü şu: yanlış bir karar verdiğimde beni durduracak kimse yok. Ekipteki bir kişinin “bunu neden böyle yapıyoruz?” sorusu, aslında ücretsiz bir kalite kontrolüdür. Tek başınayken o kontrol yok.
Bunu telafi etmek için kendime yapay sürtünmeler kurdum. Bir kararı verdikten sonra bir gün bekletiyorum. Mimari kararları kısa bir günlüğe yazıyorum — gelecekteki ben, geçmişteki beni sorgulayabilsin diye. Bu küçük gecikmeler, “heyecanla yapılmış” kararların çoğunu süzüyor.
Gerçek bir örnek: API’nin bir uç noktasını tasarlarken mobil istemciyi düşünmeden web merkezli bir yapı kurdum. İki hafta sonra mobil tarafta implemente ederken interface’in kullanışsız olduğunu gördüm. Küçük bir yeniden yazım gerekti. Ekipte biri olsaydı, “mobil için nasıl çalışacak?” sorusunu tasarım aşamasında sorardı. Kör nokta buydu.
Polyglot olmak burada işe yaradı
Looplio, dil çeşitliliğimin bir lüks değil bir ihtiyaç olduğu ilk proje oldu. Backend PHP, mobil tarafı JavaScript/TypeScript dünyası. İki ekosistemde de evimde hissetmeseydim, bu ürünü tek başıma yürütemezdim. Yıllar içinde “neden birden çok dil?” diye sorulduğunda net bir cevabım yoktu; Looplio o cevabı verdi.
Bunun bir ek boyutu da şu: iki platform aynı iş kuralını farklı şekilde uygulamaya başladığında bunu fark etmek için her iki tarafı da iyi bilmek gerekiyor. Yalnızca PHP ya da yalnızca React Native bilen biri kendi tarafını yazardı ama iki tarafın sessizce ayrışmasını görmesi zorlaşırdı.
Kapsamı küçük tutmak
Tek kişilik bir üründe en pahalı şey dikkat. Bu yüzden en zor disiplin, yapmamaya karar vermek oldu. Aklıma gelen her özelliği değil, ürünün çekirdeğini taşıyan az sayıda özelliği bitirilmiş halde tutmaya çalışıyorum. Yarım kalmış on özellik, biten üçten daha kötü.
Bir özelliği “yapalım mı, yapmayalım mı?” diye değerlendirirken şu soruyu sordum kendime: bu özellik olmadan ürünü gerçekten kullanan biri duraksıyor mu? Cevap net değilse erteliyorum. Bu filtre, yüzlerce saatlik işi başlamadan engelledi.
Bir yılın sonunda
Looplio henüz büyük bir ürün değil; olup olmayacağını da bilmiyorum. Ama bu bir yıl bana, on dört yıllık birikimin tek bir kafada birleştiğinde ne yapabildiğini gösterdi — ve aynı zamanda o tek kafanın sınırlarını. Tek başına kurmak, hem en özgür hem de en yalnız çalışma biçimi. İkisini de görmeden bu işe girmemek gerekiyor.