- Yapay zekanın geliştiricileri birer ‘yönetici’ ya da ‘editör’e dönüştüreceği yönündeki yaygın kanının aksine, yazar ‘cerrah gibi kod yazmak’ yaklaşımını öneriyor ve temel işe odaklanmayı vurguluyor
- Bir cerrahın destek ekibinin yardımıyla yalnızca ameliyatın kritik kısmına odaklanması gibi, geliştirici de yan işleri AI araçlarına devredip özsel problem çözmeye yoğunlaşabiliyor
- Ana işler (ör. UI prototipleme) hâlâ doğrudan insan tarafından yapılırken, dokümantasyon yazımı, hata düzeltme, kod keşfi gibi tekrarlı işler AI ajanları tarafından yürütülüyor
- Basit ve tekrarlı işleri AI’ya vererek statü hiyerarşisi sorunu olmadan angarya işleri devretmek mümkün oluyor; ayrıca 24 saat erişilebilirlik sayesinde gece geç saatlerde ya da öğle arasında bile iş verilebiliyor
- Bu yaklaşım, Andrej Karpathy’nin ‘autonomy slider’ kavramıyla bağlantılı ve işin özerklik düzeyine göre AI kullanım stratejisinin değişmesi gerektiğine işaret ediyor
Cerrah Gibi Kod Yazmak: Temel Kavram
- AI’nın geliştiricileri yöneticiye ya da editöre dönüştüreceği yönündeki genel öngörüye karşı çıkarak, cerrah (Surgeon) gibi çalışma biçimi öneriliyor
- Cerrah doğrudan ameliyatı yapar; ancak hazırlık ve ikincil işleri destek ekibine gördürerek, kendine özgü uzmanlık gerektiren çekirdek işe odaklanır
- Geliştiriciler de AI’yı yardımcı personel gibi kullanarak çekirdek yaratıcı işe odaklanabilir
- Yazar, bir UI prototipleyicisi olarak AI araçlarını kullanıp zamanının %100’ünü anlamlı işe ayırmayı hedefliyor
- AI’nın yapabileceği yan işleri devrederek üretkenliği en üst düzeye çıkarıyor
AI’ya Devredilebilecek Yan İşler
- AI’nın yeterince iyi yapabildiği yardımcı iş listesi
- Büyük değişikliklerden önce kod tabanıyla ilgili rehber yazımı
- Büyük bir değişiklik denemesi için ‘spike’ kod taslağı oluşturma
- Açık bir spesifikasyonu olan TypeScript hatalarını veya bug’ları düzeltme
- Hâlihazırda geliştirilen özellik için dokümantasyon yazma
- Bu işler arka planda eşzamansız olarak yürütülebiliyor
- AI öğle arasında ya da gece çalışmayı sürdürüp, ertesi gün doğrudan gözden geçirilebilecek çıktı üretebiliyor
- Böylece “hazırlanmış ameliyathaneye giren cerrah” gibi, tüm hazırlıklar tamamlanmışken çekirdek kodlamaya odaklanmak mümkün oluyor
Özerklik Kaydırıcısı (Mind the autonomy slider)
- AI’dan yararlanma biçimi, çekirdek işler ile yardımcı işler arasında büyük fark gösteriyor
- Çekirdek tasarım ve prototipleme hâlâ doğrudan insan tarafından yapılıyor; burada hızlı geri bildirim döngüsü ve yüksek görünürlük önemli
- Buna karşılık yan işler için AI’ya uzun süreli özerk çalışma alanı bırakmak daha verimli
- Uzun süre denetimsiz oturumlar için Claude Code, son dönemde ise Codex CLI tercih ediliyor
- Bu ayrım, Andrej Karpathy’nin ‘autonomy slider’ kavramına benziyor
- Özerklik düzeyine göre gereken araçlar ve düşünme biçimi değişiyor; bunları karıştırmak riskli
AI ve ‘Yazılım Cerrahı Takımı’ Kavramı
- ‘Yazılım cerrahı’ kavramı, 1975’te Fred Brooks’un "The Mythical Man-Month" kitabında Harlan Mills tarafından ortaya atılmış eski bir fikir
- Merkezde bir ‘chief programmer’ bulunur; bunu ‘copilot’ ve idari personel destekler
- Geçmişte bu yardımcı rolleri insanlar üstlenirken, AI bunu ekonomik olarak uygulanabilir bir biçimde ikame ediyor
- Yazar, bu değişimin yalnızca maliyet düşürmenin ötesinde bir anlam taşıdığını belirtiyor
- Statü hiyerarşisi sorununu hafifletiyor
- Tekrarlı ve sıkıcı angarya işleri AI’ya devrederek, ekip içindeki dengesiz iş dağılımı sorununu azaltıyor
- AI 24 saat erişilebilir olduğu için, insan stajyerlere verilemeyecek gece araştırması veya kod analizi işlerini de yapabiliyor
Notion ve ‘Cerrah Gibi Çalışmak’ Yaklaşımının Genişlemesi
- Yazar, çalıştığı şirket olan Notion içinde bu yaklaşımın gerçekten uygulandığını anlatıyor
- Şirket düzeyinde AI kodlama araçlarının kullanımı aktif biçimde destekleniyor ve kod tabanı da buna uygun tasarlanıyor
- Özellikle büyük bir kod tabanına yeni katılan geliştiriciler için üretkenlik artışı büyük oluyor
- Ürün tarafında da Notion, programcıların ötesinde tüm bilgi çalışanlarına ‘cerrah gibi çalışma’ biçimini yaymayı hedefliyor
- Temel amaç, çekirdek işi devretmek değil; önemsiz, ikincil ve tekrarlı işleri belirleyip devrederek insanların en önemli işe odaklanmasına yardımcı olmak
7 yorum
Asıl işlere odaklanıp çevresel işleri yapay zekaya bırakmak gerektiği anlamına geliyor gibi görünüyor. Buna büyük ölçüde katılıyorum; bazı SaaS'lerle ikame edilen çekirdek alan dışı işler ya da idari işler yapay zekayla ikame edilebilir gibi duruyor.
Daha çok tartışma yaratacak konu ise, çekirdek işlerin yapay zekayla ikame edilip edilemeyeceği olacaktır. Sonuçta akış, daha iyi sonuç veren tarafa doğru ilerleyecektir. IOI ya da LeetCode problemlerini çözmesine bakınca, yapay zeka kimi zaman insandan çok daha iyi kodlama yeteneği sergiliyor. Aceleci tahminlerde bulunmak benim sınırlarımı aşıyor gibi, bu yüzden izleyip görmek gerekecek.
Bu benzetme, özünü kavrayamayan, tamamen yanlış bir karşılaştırma.
Ameliyat geri döndürülemez bir iştir; programlama ise geri döndürülebilir bir iştir (yani save and load yapılabilir).
Ameliyat da geri döndürülebilir hale gelseydi, cerrahlar da ameliyat yapmayı bilen astlarına işi yaptırır, kendileri arkada tasarım, inceleme ve yönetimle ilgilenirdi; bu daha verimli olurdu. Hata olursa geri almak yeterli olurdu çünkü.
Katılıyorum. Benzer şekilde, yazılım mühendisliğini inşaat sektöründeki mühendislikle karıştıran çok kişi olduğunu da düşünüyorum
Gerçekten bir cerrah gibi kod yazmak istiyorsak, o zaman kodlama sadece bilgisayar mühendisliği bölümünden mezun olanların yapabildiği bir şey olmalı, değil mi? Bilgisayar mühendisliği kontenjanları artırılırsa programcılar da birleşip biraz grev falan yapmalı......
Neden kodlama yardımcı cerrahı diye bir şey yok!?
ahahahahahahahahahahahahahahahahahahaha
Hacker News görüşleri
Acemi bir cerrah, hemşirenin ya da anestezi uzmanının hataları engelleyeceğine güvenerek ameliyata başlarsa hastayı kısa sürede öldürebilir
Bir ameliyat ekibine ihtiyaç duyulması, kıdemli cerrah eğitimini gereksiz kılmaz
Deneyimsiz bir cerrahın “hemşire neşteri uzatıyor, o yüzden bunu ayrıca öğrenmeme gerek yok” diye düşünmesi sorundur
Sonunda hastaları feda ederek öğrenmek gerekecekse öyle olsun, ama gerekmeyecekse önce tıp fakültesine gitmek gerekir
Bu yüzden yazının genelinde Dunning-Kruger etkisi hissediliyor (yetersiz beceriye sahip bir kişinin, kendi yeteneğini gerçekte olduğundan çok daha yüksek değerlendirdiği bilişsel önyargı)
Uzun zamandır, bir yazılım mühendisinin The Mythical Man-Month kitabını okuması gerektiğini savunuyorum
Son 25 yılda, waterfall'dan agile'a geçişte olduğu gibi geliştirme biçimi hızla değişti
Ama LLM tabanlı geliştirme (Codex, Claude Code vb.) yaparken, sanki yeniden 70'ler ve 80'lerin geliştirme kalıplarına dönüyormuşuz gibi geliyor
Artık adeta bir katedral tasarlar gibi yapıyı düşünebiliyor ve ayrıntılı uygulamayı devredebiliyoruz
Ameliyatta aynı anda sadece bir kişi çalışır, ama yazılıma aynı anda birden fazla kişi dokunabilir
Bu aslında daha çok bir spor takımına benziyor; eksiksiz sonuca zaman ayırmamızın sebebi de yeterince pratik ve koçluk yapmamamız
Kodlamadan çok tasarıma odaklanabilir hale geldik
Gerçekte yüksek katlı bir bina inşa ediyorsanız çeliğin kalitesine ve cıvataların kaynağına kadar dikkat etmeniz gerekir
Bunları görmezden gelmek tehlikelidir
Bu benzetme hem kelimenin tam anlamıyla hem de mecazi olarak yanlış
Cerrah sadece bir işçi değil, ameliyatın tamamını yöneten bir yöneticidir; hatta gerçekte en önemli kişi anestezi uzmanıdır
Ayrıca “angarya iş (grunt work)” kavramının kendisi de hatalı bir bakış açısıdır
Kendini cerrah, başkalarını da yardımcı personel olarak görmek benmerkezci bir bakıştır
Brooks'un “Chief Programmer” kavramında olduğu gibi, baş geliştirici ekibin desteği sayesinde çalışabilir
Yazar, junior'ları basit alt kademe iş gücü değil, mentee olarak görüyor
Kusursuz bir benzetme olmasa da, AI coding araçlarıyla ilgili verdiği mesaj saygıyı hak ediyor
Tarihsel olarak anestezi olmadan da ameliyat yapılabildiği örnek gösteriliyor
Örneğin programcıları marangozlara benzeten framework açıklamalarında olduğu gibi, gerçek ustalar her parçayı kusursuzca cilalamaz
Bu benzetmeyi beğendim, bundan sonra kullanmayı düşünüyorum
Bir başka benzetme olarak klasik ressam atölyesi verilebilir
Rembrandt ya da Rubens'in öğrencileri tuvali hazırlıyor ve bazı bölümleri boyuyordu; usta ise yalnızca kilit kısımları bizzat resmediyordu
Buna karşılık Romantizm sonrasında, sanatçının her şeyi tek başına tamamlaması ideali ortaya çıktı
Bazı programcılar Turner gibi tek başına üretmek isteyebilir, ama ben Rembrandt gibi büyük resmi çizip ayrıntıları AI'a ya da junior'lara bırakmak istiyorum
Kullanıcı geri bildirimine hızlı yanıt verebilmek için kod kalitesinin iyi olması gerekir
Mesele sadece “hızlıca kodlayıp bitirmek” değil, değişiklik maliyetini azaltan bir yapı kurmaktır
Rembrandt tarzı yaklaşım iyi koda götürüyorsa sorun yok, ama buna dair kanıt hâlâ yetersiz
Ben de birkaç aydır Claude kullanıyorum, ama doğrudan kendim kod yazmanın daha verimli olduğunu hissettim
Ancak bu kez büyük bir veritabanını MySQL 8→9'a yükseltirken Claude'dan sorun çıkarma ihtimali olan sorguları bulmasını istedim; şaşırtıcı biçimde çoğunu doğru saptadı
Kusursuz değildi ama debugging süresini ciddi biçimde azalttı
LLM'lerin doğrudan kod yazmasındansa, risk noktalarını bulan bir rol üstlenmesinin çok daha değerli olduğunu düşünüyorum
Eski bir kod tabanında stack trace'i verdiğinizde LLM, ilk debugging yönünü önerebiliyor
Performans sorunlarını düzeltirken de kod yolunun aynı sonucu üretip üretmediğini doğrulatabiliyorsunuz
Kod yazımı hâlâ otomatik tamamlama seviyesinde, ama verimlilik kesinlikle arttı
Dan North'un Software Faster sunumu aklıma geldi
“Yazılım da ameliyat gibidir; sorunu çözmek için gereken minimum şeyi yap” sözü etkileyiciydi
Ama bu yazı o felsefeden oldukça uzak
Bu yüzden şimdi sık sık ampütasyon ameliyatı yapan bir cerrah gibi hissediyorum
Chief Programmer Team yapısı yeniden moda oluyor gibi görünüyor
Bu kez ekipte insanlar yerine AI agent'lar da var
Fred Brooks'un fikri yeniden ilgi görüyor
10 kat üretken geliştirici (10x-er) için yetkin bir ekip kurarsanız, toplantılara ya da Jira yönetimine harcanan zamanı azaltabilirsiniz
Bu insanlara yüksek maaş ödüyorsanız, zamanlarını olabildiğince değerli kullanmanız gerekir
Özerklik spektrumunu ya da delegasyon spektrumunu anlamak, AI coding araçlarını iyi kullanmanın anahtarıdır
Mühendisler delegasyona çok alışkın değildir, ama kurucular bunu daha hızlı öğrenme eğilimindedir
“Cerrah önemli işe odaklanır” ifadesine karşı, gerçekte tüm destek işlerinin eşit derecede önemli olduğu vurgulanıyor
Alçakgönüllü olup çevrenizdeki desteğe saygı göstermeli ve onları aynı şekilde desteklemelisiniz