Bulaşık makinasının yazılım işi ile ne alakası var?

M. Emrah Ozcelebi
3 min readAug 22, 2015

Ofisin en fazla kullanılan ekipmanlarından biri bulaşık makinası. Şu an Ankara ofisinde gün içerisinde 12 ila 16 arası insan çalışmakta. Bu insanların neredeyse tamamı (stajyerler hariç) üniversite mezunu. Masterlı olanlar var, doktorası olanlar var. Büyük bir bölümü bilgisayar mühendisi, bir kısım iktisatçı/ekonometrist ve matematikçilerimiz var. Baktığınız zaman okumuş, eğitimli insanlar topluluğuyuz. Biz okumuş insanlar için gene ofisimizde muhteşem kahve kokusu yayan 3 farklı espresso makinası, çay makinası, filtre kahve makinası, buzdolabı ve her sabah benim fırından daha sıcakken aldığım simit, açma vb. kalori depoları ile dolu bir kutumuz var.

Peki ne yok? Sekreterimiz yok. Sekreter dediğimiz ünvanın arkasında tanımlı işler bence farklı. Ama bizim gibi ofislerde sekreter dediğimiz kişi, bu insanların ofisteyken arkasını toplayacak anneleri. Bu anne figürü eksikliği de neredeyse tüm alanlarda hissedilmekte.

12–16 kişi ofis içerisinde sıvı ve yiyecek tüketmekte tabi ki. Tüketilsin diye kahve, çay, su, abur cubur bulunduruyoruz ve de her gün ofise catering firması yemek getiriyor. Tüm bu tüketimin yükünü ise ofisin en ağır çalışanı, yani bulaşık makinası yükleniyor. Sanal bulaşık makinası da daha keşfedilmediği ve docker containerlarında çalıştırılamadığı için scale etmek oldukça zor oluyor.

Peki nedir bu bulaşık makinası takıntısı, dert oluyorsa başka kurallar koy geç demek aslında sempton tedavisi yapmaktan öteye gidemiyor. Bulaşık makinasına kirli bulaşık koymak basit görünmekle beraber yazılım işi ile ciddi bir benzerliği var.

Öncelikle ofis ufakken, 3-5 tabak derdiniz ise sadece, koca makinaya nasıl atarsanız atın (gerçekten yaratıcı bir şekilde yerleştirmemişseniz), temizleniyor. Ancak makinayı dolduracak kadar bulaşığınız varsa o zaman iş faklı.

Süreç aslında ne kadar basit değil mi? Eğer tabakta fazladan kir var ise, çöpe sıyır. Gerekiyor ise 10 saniye suya tut. Daha sonra da bulaşık makinasının uygun bölmesine yerleştir. Voilà!

Şimdi üniversite hayatının büyük bir bölümünü sıralama algoritmaları ile geçirmiş, matrisleri ters düz etmiş insanların makinaya bulaşık yerleştirmekte zorluk çekmesini anlamak pek de mümkün değil.

Sıkıntı nerde mi? Sıkıntı, sizden sonra bulaşık makinasını yerleştirende. Siz kötü bir şekilde yerleştirdiğiniz zaman, sizden sonraki de bunu devam ettirmek zorunda kalıyor. Neden mi? Kimse başkasının bulaşığını ellemek istemiyor. Islaklık insana kötü hissettiriyor. Herkes, önce kendi problemi çözülsün istiyor. Bulaşığı oraya yerleştirince de bitti zannediyor.

Problemin düzgün çözümü: tüm bulaşıkların temiz bir şekilde ertesi gün için dolaplarda düzgün dizilmiş olmasıdır.

Ancak bulaşığını makinaya koyan problem bitti zannediyor. Tanıdık geldi mi? Aynı şekilde kod geliştiriyoruz. Hayat hep bir bütün. Restoranda garsona kötü davranıyor, ama arkadaşınıza iyi davranıyorsanız, siz tutarlı iyi bir insan değilsiniz. Bu bütünlüğü korumakla daha ileri gidebileceğimizi inanlardanım. Kendine bakmak, çevrene bakmak ve yazdığın koda bakmak bir bütün.

Evde annelerimiz bazı işleri bizim için çözüyordu zaten. Açıkçası muhteşem eşim benim için hala bu ve pek çok problemi çözüyor. Ancak benim de görevim onun işini kolaylaştırmak.

Yazılımda da anneler var. Bu nedenle code review diye bir süreç var. Birileri daha düzgün sonuçlar çıksın diye yardımcı olmaya çalışıyor. Ancak kod yazarken de şuna dikkat etmek lazım. Başkasının kodunu okumak, hele de düzeltmeye çalışmak, o ıslak tabakları tek tek çıkarıp doğru yere yerleştirmek gibi sevimli bir iş.

Herkes mümkün olduğu kadar bulaşığını düzgün yerleştirmeye çalışırsa, süreç daha hızlı ilerleyecek. Çünkü problemin çözüm tanımı, o bulaşığın bulaşık makinasına yerleştirilmesi değil. Birileri ertesi gün için, o bulaşıkları temiz bir şekilde, düzgünce dolaplara yerleştiriyor. Ertesi gün temiz bardak bulamadığımız zaman, istediği işlemi yazılımımızda yapamayan müşterinin durumuna düşünüyoruz.

Daha da önemlisi, kimse size annelik yapmak zorunda değil. Devamlı arkanızın toplanması gerekiyorsa, bulaşık makinasına koyduğunuz her tabağın yerini değiştirmek gerekiyorsa, bilin ki, birileri de sizin gerekliliğinizi sorguluyordur. Zira sadece tabak kirletip vakit geçiriyorsunuz.

Güncelleme:

Hakan’ın tweeti bir konuyu daha hatırlattı aslında :) Çatal ve kaşıklar biliyorsunuz sapları aşağı gelecek şekilde konur. Hem daha iyi temizlensin diye, hem de lojistik açısından. Ancak özellikle sivri uçlu, keskin bıçaklarda ise tam tersi yapılır. Kaşık, çatalları çıkartan insana tuzak olmasın diye. Birinin eli kanadığında, problem sizin değildir, ancak hem sorumlusu hem de problemin yaratıcısı ünvanını gururla taşıyabilirsiniz.

--

--