11 puan yazan GN⁺ 2025-03-14 | 3 yorum | WhatsApp'ta paylaş
  • Yazılım sektöründe, akranlarından 10 kat daha üretken olduğu söylenen yani "10x mühendis" mitine dair bir inanış vardır
  • Ancak bu kavramın dayanağı zayıftır ve önyargıları güçlendirme ya da gerçekçi olmayan standartlar koyma riski taşır

Üretkenliği ölçmek karmaşık ve kusurludur

  • Üretkenlik nasıl ölçülür?
    • Mühendislerin çalıştığı alanlar çeşitlidir: mikroişlemciler, IoT, veritabanları, web servisleri, UX vb.
    • Kullanılan diller ve framework'ler de çeşitlidir: Golang, Python, COBOL, Lisp vb.
    • Yakın alanlardaki teknoloji, pazar ve ürünlere dair uzmanlık gerekir: güvenlik, veri görselleştirme, pazarlama, finans vb.
    • Geliştirme aşaması ve ürünün ölçeği de farklıdır: bunun bir Mars keşif aracı mı yoksa basit bir yazılım mı olduğuna göre değişir
  • Teknoloji değişir
    • Geçmişte çok iyi olan bir mühendis bile zamanla belirli teknolojilerde geri kalabilir
    • Belirli bir alanda "10x mühendis" olan biri, başka bir alanda ortalama düzeyde olabilir

Yazılımın sahibi mühendisler değil, ekiptir

  • Yazılımın kalitesi bireysel performansla değil, ekibin performansıyla belirlenir
  • Bir kişi ne kadar hızlı kod yazarsa yazsın, ekibin süreci yavaşsa sonuçta hız aynı olur
  • Kod yazmaktan çok, test, inceleme, dağıtım ve bakım için zaman harcanır
  • Belirli bir mühendis yazılımın sahipliğini üstlenirse, o kişi ortadan kaybolduğunda büyük bir risk ortaya çıkar
  • Ekip merkezli yazılım geliştirme yapısı uzun vadede daha istikrarlıdır

En iyi mühendislik organizasyonları, "normal" mühendislerin güçlü sonuçlar üretebildiği yerlerdir

  • En iyi mühendislik organizasyonları mutlaka yalnızca olağanüstü mühendislerden oluşmaz
  • Önemli olan, ortalama mühendislerin günlük olarak iyi sonuçlar üretebildiği ve ürünüyle işi sürekli ileri taşıyabildiği bir ortamdır
  • Ekibin sistemi anlayabilmesi ve kod dağıtımı, kullanıcı yanıtları, sorun çözümü gibi işleri günlük olarak yürütebilmesi gerekir
  • En iyi mühendislik organizasyonları, normal mühendislerin gelişip sonuç üretebildiği ortamlardır

"Normal" mühendisin önemi

  • Yazılım sektörü "zeki insanlara" büyük önem verme eğilimindedir
  • Netflix, "ilk %10" içindeki yetenekleri; Coinbase ise "ilk %0,1" içindeki yetenekleri tercih ettiğini söylüyor
  • Ancak insanların çoğu ortalamadır → bu yüzden ortalama insanların sonuç üretebildiği sistemlere ihtiyaç vardır
  • Yazılım mühendisi doğuştan olunmaz; eğitim ve deneyimle gelişilir

"Normal insanlar" için sosyoteknik sistemler kurmak

  • Sistemler, "normal insanların" kolay kullanabileceği şekilde tasarlanmalıdır
  • İnsanın sıradan özellikleri hesaba katılmalıdır:
    • doğrulama yanlılığı, yakın zaman yanlılığı, hale etkisi gibi bilişsel yanlılıklar vardır
    • yorgunluk ve duygusal durum performansı etkiler
    • alarm sabah 3'te çalarsa, hata olasılığı öğleden sonra 3'e göre daha yüksektir
  • Sistem sezgisel ve kullanımı kolay olursa, mühendislerin enerjisi ürünü iyileştirmeye odaklanabilir

Harika mühendislik organizasyonları dünya çapında mühendisler yetiştirir

  • Harika mühendislik organizasyonları, seçkin yetenekleri elinde tutan yerler değil; ortalama mühendislerin gelişebildiği yerlerdir
  • İyi organizasyonlarda, ortalama düzeydeki mühendisler bile sürekli sonuç üretip gelişebilir
  • En iyi mühendisler de bu tür ortamlardan doğal olarak çıkar

"En iyi insanı" değil, "uygun insanı" işe almak gerekir

  • "En iyi yeteneği" bulmaktan çok, "ekibimize uygun yeteneği" bulmak daha önemlidir
  • Sistem, bireysel performanstan çok ekip performansını teşvik etmelidir
  • Bireysel başarıdan çok takım çalışması ve iş birliğinin önemli olduğu bir ortama ihtiyaç vardır
  • Kapsayıcı ve adil bir kültür, performansı artırır ve farklı geçmişlerden gelen mühendislerin gelişmesi için fırsat sunar

Sonuç

  • "10x mühendis" gerçekte var olabilir, ancak bunu ekip performansıyla ilişkilendirmek zordur ve risklidir
  • Harika mühendislik organizasyonları, birkaç dâhiden değil, ortalama mühendislerin sonuç üretebildiği bir yapıdan oluşur
  • Sistemler bireysel performanstan çok ekip performansını güçlendirmelidir
  • Ortalama mühendislerin gelişip sonuç üretebildiği bir ortamın anahtarı, kapsayıcı kültürler ve iyi sistemlerdir

3 yorum

 
iolothebard 2025-03-20

100 kat mühendislerin toplandığı bir şirkette, 100 kat mühendisler sıradan olandır. Sıradan olan önemlidir. Sıradanın çıtasını yükseltmek ise daha da önemlidir…

 
felizgeek 2025-03-16

Steve Jobs gibi insanların sözünü ettiği 10 kat, 100 katlık yazılım mühendisi kavramının aşağıdaki anlama geldiğini düşünüyorum.
İnşaat işçiligi, teslimat, sürücülük gibi işlerde en iyi uzman kişinin ortalama bir insandan 2 kattan fazla verim üretmesi zordur. Ancak yazılım, finans gibi alanlarda iyi olan biri, sıradan 100 kişinin asla ortaya çıkaramayacağı bir işi ortaya koyabilir.

Yetenek yetiştirmeye yönelik eğitim elbette önemli, ama yetenek seçimi de önemlidir. Eğitim ile seçme arasında büyük bir fark var gibi görünüyor. İkisini karıştırıp birbirine bulaştırmamak gerekir.

 
GN⁺ 2025-03-14
Hacker News görüşleri
  • Yazılım mühendisliğinin özel olduğu düşüncesi zehirli olma eğiliminde

    • Finans alanında olduğu gibi, bireysel değeri abartma eğilimi var
    • İşini iyi yapıp mesai sonunda çıkmak önemlidir; aşırı çalışma saatleri sistemin kırılganlığını gösterir
    • İstikrarlı ve dikkatli çaba önemlidir
  • "Normal" bir mühendis yoktur; farklı seviyelerde geliştiriciler vardır

    • Harika bir ekip kurmak için yetenekli mühendislere ihtiyaç vardır
    • Ancak böyle mühendisleri bulmak zordur
  • Yazılım ekipler tarafından değil, bireyler tarafından geliştirilir

    • Karmaşık projelere genellikle tek bir olağanüstü kişi öncülük eder
    • Bir ekip kurmak sürekli bir meydan okumadır
  • Emekçi sınıfın insanlıktan çıkarılmasına ve sınıflandırılmasına karşı çıkılıyor

    • Harika bir ekibin özü harika liderliktir
    • Bir liderin var olabilmesi için bir ekibin de var olması gerekir
  • IEEE'nin clickbait benzeri içeriklerle ilgilenmesi hayal kırıklığı yaratıyor

    • Verimliliğin nasıl ölçüleceğine dair yanlış anlaşılmalar var
    • "Normal" yazılım mühendisi kavramı sorgulanıyor
  • 10x mühendis yaratıcıdır ve kullanıcı deneyimi ile kodun bakımına önem verir

    • 1x geliştirici yalnızca sonuca odaklanır ve çatışmaya yol açar
  • 10x mühendis kavramı abartılı olsa da çok iş yapan bazı insanlar vardır

    • Ödül orantılı olmadığı hâlde neden işe kendilerini bu kadar verdiklerini anlamak zordur
  • Mühendislik işleri diğer mesleklerden farklı özellikler taşır

    • Performans, mühendis-ürün ikilisinin bir özelliğidir
    • Performansı nicel olarak ölçmek zordur
  • Bazen başkalarıyla kıyaslandığında kendini yetersiz hissedebilirsin

    • Sorunları çözerken özgüven geri gelir
    • Net hedefler olduğunda üretkenlik artar
    • Hız sihir değildir; belirli yollarla elde edilir
  • Birçok mühendis para için çalışır ve tutku yoksa üstün bir mühendis olmak zordur

    • Bireysel beceriler pratikten ve yetenekten etkilenir
    • Deneyim, zekâdan daha faydalı olabilir