Bizi Takip Edin!

Bir Projeye Ortasından Girmenin En İyi Yolu: Test Yazmak

Test yazmak

Bir Projeye Ortasından Girmenin En İyi Yolu: Test Yazmak

Pekin’de bir kelebek kanat çırpsa Washington’un havası değişirmiş. Test yazmak, en azından yazılım geliştirme sürecindeki bu kaosu azaltmanın tek yolu.

Evren kaotik bir yer. Hemen hemen her şey kaotik. En basitinden hava durumu… Çok fazla değişken var ve bu değişkenler başlangıç koşullarına aşırı duyarlı yani evren hiç robust değil. Mühendisler ise robust sistemler kurmaya çalışırlar. Bu kaosu ele avuca sığar hale getirmek için uğraşırlar. İnşaa ettikleri sistem başlangıç koşullarındaki ufak değişimlere o kadar da duyarlı olmasın istenir. Bunun olması için de, %10-20 (artık neyse) hatayı göze alarak sistemi kaotiklikten çıkarıp robust yapmaya çalışırlar.

Eşli danslarda lead ve follower kavramları vardır. Follower Lead’i izler. Follower Lead’i izlemeyi bırakıp kafasına göre dans etmeye başlarsa dansın, o izleyene (tabi yapana da) keyif veren görüntüsü ortadan kalkar. Şanslıysanız YouTube’de birkaç milyon izlenen komik videolara dönüşür. Şanssızsanız hiçbir şeye benzemez.

-Meli, -malı ile biten cümleler genelde bir hadsizlik içerse de bu sefer dayanamadım, yapacağım bu hadsizliği:

Kaosa kafa tutmamalı. Kaosla dans etmeyi öğrenmeli.

Geliştirdiğimiz yazılımlar, ürünler robust olsun ama biz robust olmayalım. İnsanın en güçlü yanı adapte olabilmesi. 4.5 milyar yılda en iyi adapte olabilen canlı olduğumuz için insan olduk. Bizim kadar iyi adapte olamayanlar şu an hâlâ tek hücreli. En güçlü yanımızı bastırmaya çalışmak biraz saçma değil mi? Bahsettiğim şeyin ise ilkesiz olmak veya kadercilik olmadığını tek cümleyle buraya yazıp konuyu değiştiriyorum.

 

Bir projeye ortasından girmenin en iyi yolu: Test yazmak

Daha fazla direnmenin bir anlamı yok diyerek alan değiştirdim. Sektör değiştirdim. Hatta meslek değiştirdim. Artistanbul’da backend developer olarak çalışmaya başladım.

Bir projeye ortasından girmek birçok kişi için korkutucu bir süreçtir. En azından benim için bu böyle. Hele de yeni bir işe başlandığı için yaşanıyorsa bu, durumu bir seviye daha yukarıya çekecektir. Yeni işe adaptasyonun yanı sıra, büyük bir projeyi, kısım kısım, puzzle oynar gibi birleştirmeye çalışmak… Kesinlikle haklarını vermem lazım, ekip arkadaşlarım bu konuda çok yardımcı oluyorlar.

Yeni gelen yazılımcıya unit testler yazdırarak projeye yavaş yavaş alışmasını sağlamak ise güzel bir yol. Aksi halde günlerini codebase’i incelemekle geçirecek. Bu projeyi anlama sürecini faydalı bir şeyler yaparak geçirmesini sağlamak adına, iyi bir fikir.

Geçen iki haftada, yarı uzakta yarı ofiste hibrit bir takım ile birlikte çalışmanın inceliklerini öğrendim. İletişim araçlarının etkin kullanımını, Git gibi birlikte çalışmayı sağlayan yazılımların birlikte çalışmayı nasıl kolaylaştırdığını öğrendim. Hâlâ da öğreniyorum.

Yazılı iletişim ile anlatılmak istenilenin sadece %7’si karşı tarafa gidermiş. O %7’yi etkin kullanmayı öğrenmenin en iyi yolu belki de, hibrit bir çalışma ortamı.

Ha, bir de bol bol da unit test yazdım.

İki haftada şunu anladım: Sözde değil, özde özgür yazılımcı bir ekip ve insan kullanmayı değil, insan kazanmayı düşünen bir anlayış var burada.

Mutlucan Tokat
Yorum Yok

Yorum Yaz

Yorum
İsim
E-Posta
Website