Yak Tıraşı: Dört Saat Geçti ve Asıl İşe Hâlâ Dokunulmadı
Gerçekte nasıl görünür
Saat 9:15'te tek bir uç nokta eklemek için oturdun. Şimdi saat bir buçuk ve uç nokta hâlâ yok. Yazılımcıların bu duruma bir adı var: yak tıraşı — asıl yapmaya geldiğin işten önce halledilmesi gereken şeyin öncesinde halledilmesi gereken şeyler zinciri; başını kaldırdığında kendini hiçbir şeyle ilgisi olmayan bir hayvanı tımar ederken bulduğun an.
Onun yerine elinde ne var: iki ana sürüm daha yeni bir derleme aracı, sabitlenmiş bir çalışma ortamı, sonunda geçen bir lint kuralı ve makinende yeniden derlenen bir konteyner imajı. Yolu zorlanmadan geri sarabilirsin. Uç nokta yeni bir alan istedi. Alan şemanın yeniden üretilmesini istedi. Üretici eski çalışma ortamında çöktü. Ortamı yükseltince bir lint eklentisi bozuldu. Eklenti daha yeni bir derleme aracı istedi. Bu adımların hiçbiri hata değildi. Bir kez bile yanılmadın.
Dalın kanıt. On bir değişmiş dosya ve hiçbiri açtığın dosya değil. Birleştirme isteğinin başlığını yazarken bir saniye duruyorsun, çünkü hem eline aldığın işi hem yaptığın işi kapsayan dürüst bir cümle yok. chore: tooling yazıp geçiyorsun.
Biri nasıl gidiyor diye soruyor; iki dakika konuşuyorsun ve özelliğe bir kez bile gelmiyorsun. İyi bir cevap, gerçek ayrıntılarla dolu. Sonra fark ediyorsun ki inşa ettiğin şeyin adı hiç geçmedi.
Ve gün, takip listesindeki asıl satır 9:14'teki hâliyle bitiyor. Gerçek işin yorduğu gibi yorgunsun; asıl önemli kısım da bu, çünkü yarın da aynı biçimde geçecek olmasının nedeni budur.
Bu kimlerin başına gelir
Bu, işleri düzgün yapmakta gerçekten iyi olan mühendislerde sık görülür.
Yıllarını belirtiyi değil kök nedeni düzeltmeye harcadıysan, bu sonradan edindiğin bir kusur değil. Zor bir sistemde seni değerli kılan şeyin büyük kısmı odur. Ama ses ayarı da saati de yoktur: üretimde bozulmuş bir bağımlılık için de, marttan beri günlükte duran bir uyarı için de aynı şiddetle çalışır.
Tek başına çalışanlarda ve küçük ekiplerde sıktır; nedeni yapısaldır. Büyük bir organizasyonda, iş kaydında "uç nokta ekle" yazarken derleme sistemine dokunan bir değişikliği gözden geçiren biri geri çevirir. Yalnız çalışırken hiçbir şey geri çevrilmez. Her dosyada yazma yetkin var, dolayısıyla her dosya kapsam içinde ve zincirin giremeyeceği bir yer yok.
Ve araçları seven her dalda çalışanlarda görülür — kalabalık bir grup, çünkü araç katmanı gerçekten ilginçtir, ürün işinden daha ele avuca gelirdir ve doğru cevabı net problemlerle doludur.
Onu ne tetikler
Tetikleyici neredeyse hiçbir zaman büyük bir engel değildir; büyüğünü dolanır ya da takvime yazarsın. Tetikleyici, işin ortasında çıkan küçük tıkanmadır — durduğun yerden üç dakikalık iş gibi görünen ve bir kat aşağıdan yine üç dakikalık görünen.
Eskimiş bir bağımlılık tetikler. Yüz kez üstünden kaydırıp bugün okuduğun bir uyarı tetikler; temiz bir kopya ya da sen yokken birinin geçirdiği bir sürüm yükseltmesi de.
Belirli bir cümleyi dinle. Madem buradayım. Sessizce gelir, verimlilik gibi ses çıkarır ve aslında günün kapsamının hiçbir karar verilmeden değişmesinin sesidir.
Bir de dürüstçe bakılmaya değer bir tetikleyici var: asıl işin senden isteyeceği şey. Zincir, ne inşa edeceğini tam olarak bildiğin sabahlarda nadiren başlar. Uç noktanın içinde henüz vermediğin bir tasarım kararı olduğu sabahlarda başlar. Ön koşullarda bu sorun hiç yoktur. Sana sıradaki adımı tam olarak ve anında söylerler.
Neden devam eder
Mekanizma şudur: ip kendiliğinden bitmez.
Her adımı bir öncekisi doğurur; devam etme kararı hep yerel olarak, yerel bilgiyle, tam önündeki problem hakkında verilir. Hiçbir şey bunun hâlâ günün doğru kullanımı olup olmadığını sormaz. O soru işi bitirdiğinde sorulur — ve zincir bitmez, dallanır.
Sonra bütün örüntüyü koruyan doku var. Sıradan kaçınmanın bir belirtisi vardır: bir hafiflik, başka bir pencereye atılan suçlu bir bakış, bildiğin bir an. Bunda o yok. Titizlik gibi hissettirir, çünkü titizliktir — yanlış nesneye yöneltilmiş. İçinde hiçbir şey özen karşısında alarm çalmaz. Dört saat itiraz görmeden sürmesinin ve "daha disiplinli ol" öğüdünün burada bir kez bile işe yaramamasının nedeni budur.
Ödül yapısı onu yerinde tutar. Kapattığın her halka anında ödeme yapar: çözüldü, doğrulandı, bitti, yeşil bir onay. Asıl iş saatlerce hiçbir şey ödemez, bugün hiç ödemeyebilir. Çözülmüş biçimli bir problemle çözülmemiş biçimli bir problem arasında emek çözülmüş olana akar; seninki de on birden beri oraya akıyor.
Altta, yüksek sesle söylenmeye değer bir cümle duruyor: Asıl işi yapabilmem için önce bunu düzeltmem gerekiyor. Bazen doğrudur. Varsaymak yerine sınamaya değer, çünkü bir olgu kılığında gelir ve bir izin belgesi gibi çalışır. Burada tek yetkili soruyla sına: bugün yaptığın her şeyin içinde, eksik olsa bir müşterinin fark edeceği ne var? Dört kat aşağıda dürüst cevap neredeyse her zaman "hiçbiri" olur.
Bedel de deftere yazılmaz, çünkü yaptığın hiçbir şey alışıldık anlamda israf değildi. Yükseltme gerçekti. İmaj derleniyor. Harcadığın şey bir gündü; yapmaya çıktığın işin karşısında elindeki ise onun sabahki hâli.
Gerçekten ne işe yarar
Asıl işi bir karta yaz ve gözünün değdiği yere koy. Hiçbir şeye dokunmadan önce, elle, tek cümle. Sonra arada bir — açmayı beklemediğin bir dosyayı açtığın anda — kartı oku ve ellerinin yaptığı şeyi o cümleye tek satırda bağla. Bağlamak bir satırdan uzun sürüyorsa üç kat aşağıdasın. Kart, büyük bir ekipte gözden geçirenin yaptığı işi yapıyor.
Soruyu yüksek sesle sor: burada dursam müşteri fark eder mi? Bir kat aşağıda genelde eder. İki katta bazen. Dört katta neredeyse hiç. Düşünmek yerine söyle — örüntü ivmeyle yürür ve kendi cevabını duymak çoğu zaman o ivmeyi kırmaya yeter.
Bant çözümünü al, düzgün onarımı ayrı bir iş olarak kaydet. Eski sürümü sabitle. Değeri koda göm. O tek lint kuralını, yanına bir yorum ve bir kayıt numarası bırakarak kapat. Kaydı ayrıntılar tazeyken yaz — kaybetmekten çekindiğin şey buraya inerken kurduğun anlayıştır ve onu kayıt tutar. "Devam etmeye yetecek kadar iyi", "doğru ama hiçbir yerde"yi yener.
Bir kenar koy, çünkü zincir kendi kendine bitmez. Bir zamanlayıcı, yirmi beş dakika; ya da iki katlık bir derinlik sınırı. Çaldığında devam etmen yasak değil; yüksek sesle karar vermen zorunlu. Bu örüntüde eksik olan tek şey, sorunun sorulduğu planlı bir andır.
Bir yak listesi tut ve ona bir pencere ver. Bantladığın her ön koşul tek bir düz dosyaya gider ve o dosyanın takvimde bir öğleden sonrası olur. O gün bazıları yukarıda çoktan düzelmiş, bazıları önemini yitirmiş olacak; kalanlar seçmediğin bir sabahta değil, seçtiğin bir günde yapılacak.