- Facebook’un efsanevi mühendisi Bob, karmaşık bir geliştirme ortamı olmadan da Facebook Groups’u yayına aldı ve hackathonlarda art arda başarı elde etti
- Yalnızca temel Sublime Text ve
printflogları kullandı; sözdizimi vurgulaması hatalıydı ve ne live reloading ne de debugger vardı - Buna karşılık çevresindeki geliştiriciler, Vim sözdizimi vurgulaması ve snippet’ler,
tmux,mosh,hphpdkısayolları, Git alias’ları gibi karmaşık araç düzenlerini üretkenliğin anahtarı olarak görüyordu - Ancak Bob’un hackathon zaferlerinde editör ayarlarından çok ürün sezgisi ve içgörüsü, yani ne yapılacağına karar verme becerisi etkili oldu
- Yeni çalışma biçimleri değişim yaratabilir, ama nihai sonuçlar eninde sonunda doğru problemi çözmekten gelir
Karmaşık araçlarla gerçek sonuçlar arasındaki fark
- Bob, Facebook Groups’u yayına alan üretken bir mühendis ve hackathonlarda art arda ürün çıkaran efsanevi bir isimdi
- O dönemde üretkenliğe kafayı takmış bir çalışma arkadaşı, Facebook’un PHP lehçesi Hack için kendi yaptığı Vim sözdizimi vurgulaması ve snippet’ler kullanıyordu
moshüzerindetmuxçalıştırıyor, özelhphpdkısayolları ve Git alias’ları bile ayarlıyordu
- Bob’un çalışma tarzı ise buna kıyasla son derece basitti
- Ek ayar yapılmamış Sublime Text kullanıyordu; kod renklerinin yaklaşık yarısı yanlış gösteriliyordu
- Live reloading ya da debugger yerine koda
printfekliyor ve logun gelmesini bekliyordu
- O günkü hackathonda Bob kazandı; yaptığı şeyin, Facebook Groups’ta alım-satım gönderilerini destekleyen bir özellik olduğu hatırlanıyor
- Bu özellik daha sonra Facebook Marketplace’e dönüştü
Nasıl’dan çok ne yapılacağı
- Karmaşık araçlara odaklanmak, işin nasıl yapıldığına saplanıp işin ne olduğunun gözden kaçmasına yol açabilir
- Bob’un yüksek üretkenliğinin asıl kaynağı editör ayarları değil, ürün sezgisi ve içgörüsüydü
- X’te her gün her şeyi değiştirecekmiş gibi görünen yeni çalışma biçimleri ortaya çıkıyor; bunların bir kısmı gerçekten fark yaratabilir
- Ancak en önemli şey araçların ya da çalışma biçimlerinin kendisi değil, doğru problemi çözmektir
1 yorum
Hacker News yorumları
Aletini esirgemeyen zanaatkâr ile aletlere takıntılı kişiyi ikiye ayırmak yanlış. İyi araçlar oyuncak değil, amaca giden birer araçtır; ben de iş akışıma uygun shell script’leri, Emacs fonksiyonları, pencere düzenleme araçları vb. yapmak için günler harcadım.
Sonuçta sözdizimi vurgulama, kodda gezinme ve analiz, ekran düzeni, Git işlemleri birkaç tuş vuruşuyla yapılır hale geldi ve odağı bozan unsurlar ortadan kalktı. Sandalye, shell prompt’u, editör gibi çalışma ortamına yatırım yapın; rahat ettikten sonra bunları unutup asıl probleme odaklanın.
Ancak bitmek bilmeyen araç ayarları, yorucu ve eğlenceli olmayan görevlerden kaçınmanın işareti olabilir; bu da araçların kendi hatasıymış gibi basit bir mesele değildir.
Özellikle LLM çağındaki araçlar insanı sürekli birden fazla ajan ve terminal arasında gidip gelmeye zorluyor. Bu sık bağlam değişimi keyfi ve akış hâlini elimizden alıyor; umarım biri buna çözüm bulur.
Birçok teknisyenin gerçekten bir şey üretmekten çok ortam ayarlarını optimize etmeye daha fazla zaman harcadığını gördüm; ben de bunu yaptım. Kodlama süresinin %90’ı yazı yazmak olduğuna göre giriş hızını artırmak gerekir düşüncesi yanlış; zamanın %90’ı düşünmeye, bunun da çoğu okumaya harcanmalı.
Doğru andaki kodlama, zaten anlaşılan çözümü somutlaştıran bir yazma işine yakındır.
Yapay zekâ, başlangıçta aşılması gereken eşiği düşürdüğü için bir başka ortam iyileştirme biçimi sayılabilir. Eskiden QA rolünden geliştiriciliğe geçmeye çalışırken Avrupa’yı dolaşıp InterviewCake çalıştığım dönemde de problem çözmek yerine editör ayarlarını ince ayarlamakla zaman harcamıştım.
Bu, ADHD belirtisi de olabilir. Yakın zamanda ilaç tedavisine başladıktan sonra üretkenliğim ciddi biçimde değişti; gerçek işi yapmak yerine ayarları mükemmelleştirmeye hayatımın yarısını harcadığımı düşününce ağlayacak gibi oldum.
Gerçekten kullanılan ya da para ödenen ürünler yapamayan VC destekli şirketler var. Bunlar şirket değerlemelerini haklı çıkarmak için ne kadar meşgul ve üretken olduklarını gösteriyor; yapay zekâ furyası da ne yapılacağından çok üretkenlik ve yöntemlere odaklandığı için aynı bağlamda görülebilir.
https://components.news/the-gamer-and-the-nihilist/ bu tür nihilist startup’ları insanların para ödeyip kullandığı ürünler yapan oyun geliştirme şirketleriyle karşılaştırıyor. Üretkenlik uygulamalarının Product Hunt çıktılarının neredeyse %40’ını oluşturduğu bir ekonomide emek, gerçekten bir şey yapmak yerine yapıyormuş gibi görünmeye de harcanabiliyor.
Üretkenlik araçlarını sadece geri kalmayacak kadar yapar ya da kullanırım; fazlasını tuzak olarak görürüm. Eskiden çeyrekte bir kez gözden geçirirdim, ama yapay zekâdan sonra haftada 1-2 günü araç iyileştirme denen meta işe harcıyorum; ilgili araçlar standartlaştıkça bunun azalacağını düşünüyorum.
Araç uzmanı imajı güçlenirse, gerçekten değerli işleri kaçırmakla kalmaz, gizli üretkenlik sırlarına sahip biri olarak da değerlendirilirsiniz. Beklendiği kadar fark yaratmazsanız diğer yargılarınıza duyulan güven de sarsılabilir.
Bilgisayar başında geçirdiğim zaman azaldıkça daha çok iş bitirdim; monitörleri 3’ten 1’e indirince üretkenliğim ciddi biçimde arttı. Sebze doğrarken ya da çim biçerken problemlerin çoğunu çözüyorum; parlak teknolojinin karşısında oturmak daha hızlı ve daha iyi kararlar getirmiyor.
Müşteri şirketlerin geliştirme ekiplerinden daha iyi sonuç almamın nedeni de tam zamanlı çalışan olmamam; yeterince durup yavaşça düşünebilmem. Teams durum göstergesini yeşil tutma baskısı gibi üretkenlik tiyatrosu, birçok organizasyonda aptalca kararlar üretiyor.
Üretkenliğin neden var olduğunu düşününce bunun acıyı azaltma girişimi olduğu varsayımına vardım. Programcı üretkenliği dahil pek çok performans optimizasyonu, problem alanının belirsizliği, kurum içi politika, muğlaklık ve başarısızlık riski gibi acılardan kaçmak isteyen mühendisler için bir sığınak hâline gelebiliyor.
Ama gerçek dünyadaki sorunları çözmek için kullanıcı iş akışlarını sıkıcı derecede ayrıntılı incelemek, ortak stratejiyi açıkça önerip başkalarının iş birliğini kazanmak gibi yollarla gerçekle yüzleşmek gerekir. Acının kendisini yüceltmeye gerek yok; ancak iyi sonuçların içinde sporcu benzeri bir antrenman vardır ve sahada gereken acıyı yönetme becerisini geliştirmek gerekir.
Mesele, takdir edilmenin kolay olup olmadığı. Parlak araçları herkes görüp hayran kalabilir; ama boş bir editörde ya da iskelet kodda harika yeni bir ürün veya özelliği fark eden azdır. Bu yüzden görünür araçlara ilgi yığılır; zor ve belirsiz olan “ne yapılacak” sorusu göz ardı edilir.
Araçlara Marie Kondo tarzı bir ölçüt uygularım. Kullanması keyifli değilse ve hayatı kolaylaştırmıyorsa atarım; öyleyse tutarım.
2004’te, çoğu junior geliştiriciden oluşan küçük bir ekip olarak mükemmel ve kapsamlı bir Java eğitimi alma fırsatımız oldu. Eğitimden önce IntelliJ ve Eclipse ayarlarına takılıp hararetle tartışmıştık; eğitmen ise şaşırtıcı biçimde yalnızca varsayılan JDK araçları ve Notepad kullanmamızı önerdi.
Amaç, içeride neler olduğunu öğrenmemizi sağlamaktı; üretkenlikte de muhtemelen büyük bir fark olmayacağını söyledi.
Ortam optimizasyonuna takıntılı olmamızın nedeni, odaklanmış çaba ile ödül arasındaki bağın görünür, somut ve fiziksel olmasıdır. Buna karşılık soyut öğrenme böyle değildir. Optimize edilecek sandalyelerden çok daha fazla öğrenme görevi var; keşke soyut öğrenmeyi de daha somut hissettirecek bir yol olsa.
Bu üretkenlik değil, oyuncaklarla oynamanın keyfi meselesi.