Kod ucuzdur. Şimdi ‘sözü’ göster
(nadh.in)- LLM kodlama araçlarının ortaya çıkışıyla birlikte on yıllardır süregelen yazılım geliştirmenin temel varsayımı bizzat çöktü; artık kod yazmaktan çok problemi tanımlama ve yapıyı tasarlama becerisi temel yetkinlik haline geliyor
- Artık geliştirmenin odağı, ‘iyi kod yazma becerisi’nden değil; problemi hayal edip açıkça anlatabilen ‘konuşma becerisi’ne kayıyor
- Temiz kod yapısı, iyi düzenlenmiş README ve dokümantasyon artık özenin ya da ustalığın güven sinyali değil; hatta aşırı kusursuz göründükçe slop olma ihtimali de artıyor
- Yapay zekanın ürettiği kod ile insanın yazdığı kod arasında görünüşe dayalı ayrım yapmak fiilen imkansız hale geldikçe, kalite yerine hesap verebilirlik, köken ve insan dokusu kodun değerini belirleyen ölçütler olarak öne çıkıyor
- FOSS ekosistemini ayakta tutan işbirliği ve paylaşım teşvikleri zayıflıyor; kodun kendisinden çok güven, yönetişim ve kürasyon yetkinliği daha önemli varlıklara dönüşüyor
- Bu araçlar deneyimli geliştiriciler için güçlü bir çarpan olsa da, yeni başlayanlar için temel anlayışı inşa etme fırsatını elinden alabilecek tehlikeli bir cin olabilir
Giriş: Linus Torvalds’ın özdeyişi ve onun tersyüz oluşu
> "Talk is cheap. Show me the code"
- Linus Torvalds’ın 2000 yılındaki bu sözü, gerçekten kod yazarak kanıtlanmadıkça sözün bir değeri olmadığını simgeliyordu
- O dönemde ne kadar net bir geliştirme planı olursa olsun, karmaşık bir programı hayata geçirmek bizzat muazzam emek, zaman ve tekrarlayan bir sıkıcılık gerektiriyordu
- Asıl darboğaz teknoloji değil, insanın sınırlarıydı: bilişsel bant genişliği, kişinin zamanı ve enerjisi ve büyük ölçekli bir sistemin tamamını zihinde tutarak kodu satır satır yazmanın biyolojik maliyeti
- Sonuç olarak fikirlerin çoğu, 'bir gün denemek istiyorum' istek listesinde birikmiş halde, fiilen denenemeden kayboluyordu
25 yıl sonra: LLM her şeyi tersine çeviriyor
- 2025’te Linus Torvalds, kendi hobi projesine AI tarafından üretilmiş kod merge ederken “Benim elimle yazdığımdan daha mı iyi? Elbette” dedi
- On yıllardır yazılım üreten bir geliştiricinin gözünden yazar, bildiğimiz anlamdaki yazılım geliştirmenin artık sona erdiğini kesin bir dille söylüyor
- Dial-up’tan gigabit’e, Basic’ten Node.js’e, SourceForge’dan GitHub’a uzanan sayısız dönüşüme bizzat tanıklık etmiş bir kuşak olarak, bu değişimin geçici bir moda değil, niteliksel bir kopuş olduğunu açıkça görüyor
Kod kalitesini değerlendirme ölçütlerinin çöküşü
- Geçmişte bir FOSS projesini değerlendirirken projenin yaşı, commit sıklığı, kod yapısının tutarlılığı, README ve dokümantasyon kalitesi önemli ölçütlerdi
- Kısa ve öz yorumlar ile iyi düzenlenmiş dokümanlar, geliştiricinin düşünceli oluşunu ve diğer geliştiricilere gösterdiği özeni yansıtan sinyaller olarak kabul edilirdi
- Ancak LLM’ler yüksek kalitede dokümantasyon sayfaları, aşırı ayrıntılı README’ler, temiz UI’lar, düzenli kalıplar ve yorumlar tek seferde üretebilir hale gelince bu sinyaller geçerliliğini yitirdi
- Sonuç olarak bir deposunun teknik olmayan biri tarafından vibe coding ile mi yapıldığını, yoksa deneyimli bir geliştirici tarafından tasarlanmış bir çıktı mı olduğunu yalnızca görünüşe bakarak ayırt etmek zorlaştı
- Hatta fazla kusursuz görünen şeylerin, düşük emekli tek atımlık üretimler olabileceğinden şüphe edilmesi gereken paradoksal bir durum ortaya çıktı
- Uzman düzeyinde ayrıntılı inceleme ve analiz olmadan, buğdayı slop’tan ayırmak giderek daha zor hale geliyor
- Bu yüzden kodun kendisinden çok, onu kimin yaptığı, neden yaptığı, nasıl bir geçmişe sahip olduğu, yönetişim ve bakım planı bulunup bulunmadığı gibi köken bilgisi daha önemli bir değerlendirme unsuru olarak yükseliyor
Emeğin değerindeki değişim
- Geçmişte yetkin bir geliştiricinin anlamlı sonuç üreten 10.000 satır kaliteli kod yazabilmesi için uzun süre yoğunlaşıp tekrar tekrar iyileştirme yapması gerekirdi
- Kod satırı sayısı tek başına kalite ölçütü değildir; ama iyi arıtılmış 10.000 satır kod, zaman, odak, sabır, uzmanlık ve belli bir proje yönetimi kapasitesi yatırıldığını gösterirdi
- LLM’ler bugün böyle çıktıları yalnızca birkaç saniyede üretebiliyor ve testten sistem kurulumuna, dağıtıma kadar teknik iş akışının geniş bir bölümünü üstlenebiliyor
- İnsan uzmanlığı ve muhakemesi devreye girdiğinde ortaya çıkan sonuç gerçek kullanım için yeterince yüksek kaliteye ulaşabiliyor
- Yazar da kişisel olarak, eskiden haftalar ya da aylar sürecek işleri günler, hatta bazen saatler içinde bitirme deneyimini tekrar tekrar yaşadığını söylüyor
- Üstelik bunu AGENT.md ya da karmaşık çoklu ajan orkestrasyonu olmadan, yalnızca basit bir LLM ajan CLI’ıyla yapmak mümkün oldu
- Yazılım çıktısı elde etmek için ödenen fizyolojik, bilişsel ve duygusal maliyet birkaç mertebe azaldı
- Böylece kazanılan zaman ve zihinsel alan, mühendislik düşüncesine, mimari tasarıma, tartışmaya, deneye ve hayal gücünü genişletmeye yeniden yatırılıyor
- “Programlama %90 düşünmek, %10 yazmaktır” sözü artık bir mecaz değil, gerçeğin kendisi oldu
Slop’un tanımı ve kodun değeri
- Hiç kod yazmamış biri bile birkaç saniye içinde endüstriyel ölçekte kod üretebiliyorsa, kod denen çıktının kendi başına değeri nedir?
- “AI kodu değil, yalnızca saf insan kodu istiyorum” demek, bugünün gerçekliği düşünüldüğünde ironiye yakın bir şaka olmaktan öteye gitmiyor
- CrowdStrike IT kesintisi (2024), Boeing 737 MAX’in yere indirilmesi, Birleşik Krallık Posta skandalı, Hindistan’daki büyük veri ihlali, Equifax veri sızıntısı gibi insan eliyle yazılmış kodun yol açtığı büyük felaket örnekleri zaten yeterince mevcut
- Dünyada insanların her gün yazdığı kodun önemli bir kısmı kalite açısından zaten sınırda
- Yazılım geliştirme hâlâ nesnel olarak olgunlaşmış bir profesyonel disiplin sayılması güç bir alan
- Doktorlar ya da inşaat mühendisleri sıkı eğitim, lisans ve ortaya çıkan sonuçlar için sorumluluk taşırken, yazılım geliştirmede buna benzer düzenler neredeyse yok
- Bugünkü toplum, özensiz tasarlanmış, alelacele birbirine bağlanmış ve gereğinden fazla şişirilmiş kod sistemleri üzerinde işliyor
- Duyguları hedefleyen bir iddia kurulacaksa, AI’nin ürettiği slop’un en azından biçimsel olarak temiz, dokümantasyonu düzenli ve sözdizimsel olarak tutarlı olduğunu bile söylemek mümkün
- İnterneti dolduran ruhsuz LLM üretimi cümleleri ve mesajları okumak, giderek daha fazla kişi için kelimenin tam anlamıyla amigdaladaki nöron aktivasyonunun israfı gibi görülüyor
- İnsan yaratım süreci ve onun içindeki kusurlar ile mükemmellik çekilip alındığında, dil, edebiyat, sanat ve müzik özünde keyif alınamaz şeylere dönüşüyor
- Emek olmadan sonsuz ve anında üretilebilen şeyler, insanlar için değer biçmesi son derece zor nesnelere dönüşüyor
Kod sanatla aynı şey değildir
- Kod özünde her zaman bir amaç için araç oldu; hiçbir zaman başlı başına amaç olmadı
- Son kullanıcılar kodu okumaz, okumak zorunda da değildir; kodun kendisiyle ilgilenmez
- Bir portalın arkasında çalışan yüzlerce sistemin hangi dil, framework ya da mimariyle kurulduğu kullanıcı için anlam taşımaz
- Kod bütünüyle görünmezdir; kullanıcı yalnızca UX üzerinden onun ürettiği sonuçları ve etkileri deneyimler
- İşlevsel olarak aynı olan bir AI kodunun slop sayılıp sayılmamasını belirleyen şey, hesap verebilirlik yapısı ve insan dokunuşunun bulunup bulunmamasıdır
- Bir insanın bizzat yazıp açık kaynak deposuna gönderdiği PR, kod kalitesinden bağımsız olarak, içine harcanmış insan zamanı ve emeği varsayımı sayesinde doğal bir empati ve değer kazanır
- Buna karşılık LLM tarafından üretilmiş bir PR için ilk tepkinin kaliteye bakılmaksızın “slop!” olması sık görülür; çünkü içindeki insan emeğinin düzeyi anında sezilemez
- Üstelik o kodu okuyup doğrulama yükü, üretim maliyetiyle kıyaslandığında orantısız ve katlanarak büyür
- Sonuçta bu yalnızca emeksizce üretilmiş sonsuz varyasyonlardan biridir ve anlamlı bir köken ya da bağlam taşımaz
- Bu noktada gerçekliğimiz giderek Borges’in tarif ettiği ‘Babil Kütüphanesi’ne benzemeye başlıyor
FOSS’un geleceği
- FOSS muhtemelen insanlığın yarattığı en büyük kamusal değerlerden biri
- FOSS’un çıkış noktasında, yazılımın son derece pahalı olduğu ve yalnızca az sayıdaki uzmanın üretebildiği bir çağın varsayımı vardı
- Dünyada yazılım üretebilen insan sayısı çok azdı ve geri kalanlar ancak bu üretimin kullanıcıları olabiliyordu
- Bugün ise ne kadar niş bir ihtiyaç olursa olsun, uzman biri kendi gereksinimine tam uyan küçük bir kütüphaneyi hızla üretebilir hale geldi
- Hatta belli ölçüde becerikli olan herkes için, kişisel kullanımına gereken küçük araçları vibe coding ile doğrudan yapma dönemi başlamış durumda
- StackOverflow’da görülen değişim, daha yavaş tempoda da olsa yazılımın genelinde de benzer biçimde ilerliyor
- Bu, FOSS işbirliği ve paylaşımını ayakta tutan insani motivasyonları, toplumsal koşulları ve katılım teşviklerini doğrudan sarsan bir değişim gibi görünüyor
- Eşi benzeri görülmemiş ölçekte ortaya çıkacak FOSS projelerinin Kambriyen patlaması düşünüldüğünde
- Sonunda hayatta kalıp gelişecek yüksek kaliteli FOSS projelerinde, kodun kendisinden çok uzman yönetişimi, kürasyon ve güven yapıları daha kritik varlıklara dönüşebilir
Ağaçlara bakıp ormanı kaçıran iki uç
- Syntax highlighting, IDE’ler ve türlü araçlar ortada yokken bile insanlar zaten şaşırtıcı düzeyde yazılımlar üretebiliyordu
- Tersine, bugün tüm araçlar ve kaynaklar fazlasıyla bolken bile berbat yazılımlar üretilmeye devam ediyor
- İfade gücü yüksek ve kaliteye önem veren yetkin geliştiriciler, ister LLM ister başka araç olsun, bunları kendi yollarıyla kullanıp iyi sonuç üretir
- Buna karşılık problemi anlatamayan ve kaliteyi önemsemeyen geliştiriciler, LLM kullanıp kullanmamalarından bağımsız olarak kötü çıktılar üretir
- Aşırı ‘agentic’ vibe coding taraftarları da, LLM’leri toptan reddedenler de, sonuçta ağaca takılıp ormanı göremiyor
- Deneyim, uzmanlık, düşünme gücü ve ifade becerisine sahip kişilerin uygun trade-off’ları seçerek istedikleri sonuca ulaştığı pratik bir orta nokta açıkça mevcut
- Vibe coding aynı zamanda teknik olmayan insanlar için ilk kez yazılıma dokunabilecekleri, deney yapabilecekleri, keyif alarak yetenek geliştirebilecekleri önemli bir giriş kapısı da olabilir
- Ancak vibe coding’e körü körüne inananlar, insanların bir çıktıyı ciddiye almasını sağlayan temel unsur olan sonluluğu gözden kaçırıyor
- Bunun sonucunda kendileri de yağcı ajanların ürettiği slop denizinde kolayca yönünü kaybedebilecekleri devasa bir Borgesvari kütüphane inşa ediyor
- Emeksizce sonsuz biçimde üretilebilen ve anlamlı köken taşımayan çıktılara değer atfetmek de, onları ciddiye almak da son derece zor
- İnsan denen varlık, özünde sonsuz arzı, özellikle de sonsuz seçenekleri iyi yönetebilen bir varlık değil
- Öte yandan LLM karşıtları çoğu zaman inanmazlıktan türetilen argümanın ötesine geçemiyor
- Teknolojiyi, yalnızca kişisel olarak hoşlarına gitmediği, istedikleri sonucu vermediği, beklentilerini karşılamadığı ya da basitçe bıkkınlık yarattığı için reddediyorlar
- Oysa bu yaklaşım, aynı araçları etkili biçimde kullanıp tam ters deneyimler yaşayan çok sayıda insanın varlığı karşısında ikna gücünü yitiriyor
- Hype, çılgınlık ve açgözlülükle itilen akılsız ve zararlı uygulamalar elbette gerçek ve ciddi bir kaygı kaynağı
- AI iş balonu muhtemelen tarihin en büyük balonlarından biri olabilir
- Buna rağmen FOSS AI teknolojilerinin yayılması açıkça umut verici bir işaret
- Kötü niyetli aktörleri, rakam oyunlarını ve saçma uygulamaları, bu teknolojilerin sahip olduğu temel ve fiziksel kapasiteyle bir tutmak irrasyonel olur
İnsani maliyet
- Deneyimli geliştirici ve mühendislerin gözünden bakıldığında, bu AI teknolojileri çok güçlü ve etkili yardımcı araçlar olarak çalışıyor
- Ancak sektöre yeni adım atan erken aşamadaki öğrenenler ve junior’lar için bambaşka bir sorun doğuyor
- Temel bilgisi zayıf, sistemler ve yazılım geliştirme süreci hakkında içselleştirilmiş ve incelikli bir anlayış oluşmamışsa, bu teknoloji güvenilmez ve tehlikeli bir cine dönüşebilir
- Kod istendiğinde kod vermesi, değişiklik talebine anında yanıt üretmesi ilk bakışta çok kullanışlı görünür
- Ancak çok geçmeden kullanıcı, nasıl çalıştığını anlamadığı bir kod tabanına hapsolur ve sorun çözmek için sürekli o cine bağımlı hale gelir
- Bu bağımlılık tekrarlandıkça, temel ve kökensel yetkinliklerin doğal biçimde gelişebileceği öğrenme ortamının kendisi ortadan kalkar ve hatta bilişsel gerileme riski ortaya çıkar
- Bunun sonucu olarak anlamlı biçimde senior seviyeye büyüyemeyen bütün bir junior kuşağın ortaya çıkma ihtimali dile getiriliyor
- Asıl kaygı, slop’un ne olup ne olmadığını nesnel olarak ayırt edecek uzmanlığı edinme fırsatının öğrenen neslin elinden kayması
- Daha da ciddi olanı, bu araçları ustalıkla kullanan deneyimli kişilerin bile junior’ları temel yollarla mentorluk ederek yetiştirme motivasyonunu kaybetme ihtimali
- Bu risk, yazılım geliştirmenin ötesinde, insanın öznelliğini ve karar vermesini kara kutulara bütünüyle devretmesi yönünde bir eğilimi de içinde barındırıyor
Sonuç: Artık söz, koddan daha değerli
- Eliyle kod yazarak yetişmiş geliştiriciler için bile artık kodu okuyup eleştirel biçimde değerlendirme becerisi, sözdizimi öğrenip satır satır yazma becerisinden daha önemli hale geliyor
- Elbette ikincisi hâlâ önemli bir beceri ve etkili kod okuma yeteneği de sonuçta onun temeli üzerinde kurulur
- Yine de gündelik yazılım geliştirme iş akışının kendisi zaten bütünüyle tersyüz olmuş durumda
- İyi konuşabilen deneyimli geliştirici, yani hayal edebilen, açıklayabilen, problem tanımlayabilen, mimari tasarlayıp mühendisliğini kurabilen kişi; bunları yapamayana göre hiç olmadığı kadar orantısız bir avantaja sahip
- Belirli diller, sözdizimleri ve framework’ler hakkındaki bilgi artık asıl darboğaz değil
- Geçmişte geliştiriciyi sınırlayan fizyolojik ve fiziksel kısıtlar da artık belirleyici engeller olarak çalışmıyor
- Büyük ölçekli kodu anında üreten makineler artık metalaşmış araçlar ve herkes bunlara
pip installdüzeyinde erişebiliyor - Ayrı bir uzmanlık eğitimi almak ya da yeni bir dil veya framework öğrenmek gerekliliği de fiilen büyük ölçüde ortadan kalkıyor
- Gerekli olan şey, eski usul eleştirel düşünme, temel insani yetkinlikler ve bu makineleri kullanabilecek asgari operasyon becerisi
- Bunun sonucunda mevcut yazılım geliştirme metodolojileri ve rol ayrımları—Waterfall ile Agile, geliştirici ile tester, senior ile junior—köklü bir dönüşüm geçiriyor
- Geleneksel sınırlar, akıl almaz hızda, sıkıştırılmış ve bulanıklaşmış yinelemeli ‘agentic’ döngüler içinde birleşiyor
- Buna bağlı olarak yazılım geliştirmeyi çevreleyen insanlar, organizasyonlar ve kamusal toplulukların dinamikleri ile paylaşım ve işbirliğini ayakta tutan insani teşvikler de hızla değişiyor
- curl’ün bug bounty programını sonlandırması, Zulip’in AI kullanım rehberleri getirmesi, Ghostty’nin açık AI politikası gibi örnekler bunu gösteriyor
- Tarihte ilk kez, iyi söz, iyi koda göre katlanarak daha değerli bir unsur haline geliyor
- Bu değişimin yaratacağı etkiler büyük ve aynı zamanda son derece yıkıcı
10 yorum
"Hayatında tek satır kod yazmamış birinin bile birkaç saniye içinde endüstriyel ölçekte kod üretebildiği bir durum" -> Kürdanla apartman dikerseniz buna endüstriyel ölçek mi denir?
Torvalds'ın o sözünü severdim ama... zaman tamamen değişmiş.
"Öğrenme ortamının kendisinin ortadan kalkması" fikrine derinden katılıyorum. Bilgiye erişim maliyetinin sıfıra yaklaştığı bir dünyada eğitim artık nasıl bir biçim alacak?
Gerçekte ise çoğu işe alımda her zaman Java gibi dillerde en az N yıllık deneyim ve üzeri tecrübe isteniyor.
"Söz" ile "yazı" farklı şeylerdir.
Aslında galiba "söz"den çok "yazı"yı iyi yazmak gerekiyor.
🐎🐎🐎🐎🐎
Kimino Aiba, zkyung dokyung~
Daha birkaç yıl öncesine kadar şirketteki iş arkadaşlarıyla ya da geliştirici buluşmalarında, yeteneği olmadan sadece boş konuşan (en yeni trend teknolojilere ve anahtar kelimelere düşüncesizce erken benimseyen tarzı bir takıntıyla sarılan, en fazla framework ve kütüphane kullanmış ama en temel şeyleri bile kendi başına hiç yapmamış...) mühendislere "dil programcısı" diye tepeden bakılırdı... Şimdi ise "dil programcısı" olmak geliştiricinin gerçeği haline geldi. Ah, zaman gerçekten ne kadar değişmiş.
Hacker News görüşleri
Bugün Codex'ten Redux için birim testleri yazmasını istedim
İlk bakışta fena görünmediği için geçip gittim ama sonra kendim test eklemek için geri dönüp baktığımda onlarca yerde “bu da ne?” dedim
Çalışıyordu ama darmadağınıktı. Üstelik kod da basitti
AI kullanırken sürekli benzer bir deneyim yaşıyorum — dışarıdan bakınca iyi görünüyor ama genişletmeye kalkınca felakete dönüyor ve sonunda hepsini benim toparlamam gerekiyor
“Kod ucuzdur” sözündeki sorun, üretmenin ucuz ama bakımın pahalı olması
Günde binlerce satır üretmek kredi kartıyla borç biriktirmek gibi. Ücretsiz sandığın şeyin faturası sonradan geliyor
Doğrudan bir etki yaratabilir miyiz bilmiyorum ama ne olduğunu görmek isterim
Bu arada Redux'un test yaklaşımı resmî belgelerde özetlenmiş durumda
Önce test metodolojisini netleştirip sonra buna göre modele talimat vermek gerekiyor
AI, açıkça belirtilmemiş kısımları kafasına göre varsaydığı için dikkatli olmak lazım
Temelde asıl mesele test. AI kodunu sezgiyle değerlendirmemeli, testle doğrulamalısın
Kodun değeri test seviyesine orantılıdır. “LGTM” deyip geçmek, motosikleti gözlerin kapalı sürmek gibi
Bazı durumlarda iyi iş çıkarıyor ama bazılarında tamamen dağılıyor
Mesela doğru use case'i verdim, kod yanlıştı ve test başarısız olunca AI gidip testi yeniden yazdı
Yani başarı ölçütünü kendi kendine tanımlama riski var
Bir ara iki Claude instance'ı açıp birine testleri, diğerine implementasyonu vermeyi denedim ama kurulumu fazla zahmetliydi
Bu yüzden bu teknolojinin ekiplere tepeden inme dayatılmasının sebeplerinden biri olduğunu düşünüyorum
Tıpkı cloud dönüşümünde olduğu gibi, asıl maliyet sonradan ortaya çıkıyor. Sadece bu sefer çok daha hızlı olacak gibi
Bunu araba montajı benzetmesiyle anlatırsak,
Sadece spesifikasyona göre parça birleştiren biri, robot kolun yerini alacağından endişe etmekte haklı olabilir
Ama tasarımı deneyen, prototip üreten ve robot kolu programlayan biri otomasyondan daha az kaygı duyar
Birçok itiraz “AI ikinci rolü de otomatikleştiriyor” diye geliyor ama gerçekte çoğu zaman birinci işi ikinciyle karıştırıyoruz
Çünkü hata ayıklayabilir, yön değiştirebilir ve somut talimat verebilir
Sıradan kullanıcı ise sadece “bu çalışmıyor, düzelt” demeyi tekrarlar
O yüzden işin biçimi değişecek ama mesleğin kendisi ortadan kalkmayacak
AI bunu taklit edebilirse benim yerimi de alabilir
Rekabetin az olduğu bir ekonomide, sadece ‘inandırıcı bir taklit’ bile yeterli olabilir
Berbat AI çıktıları bile gelir ve exit sağlıyorsa yeterli görülüyor
Dünya her zaman ‘dağıtık çöpü’ tolere etti. Windows'a bak
Aslında otomasyona açık çok şey varmış; meğer özgüvenimi fazla abartmışım
Ama bugünün LLM'leri çok daha genel; belli sınıftaki her türlü işi üstlenebiliyorlar
Robot kola “bu yılın araba tasarımını iyileştir” dersen durur kalır ama AI fikir üretebilir
Fikir → tasarım → üretim → test → değerlendirme sürecinin tamamını AI yapabiliyorsa,
bu geçmiş teknolojilerden özünde farklı bir yenilik olur
“Kodu elle yazma dönemi bitti” demek abartı
Bu tür abartılar insanların uzmanlığını sarsmak ve FOMO yaratmak için kullanılıyor
Korkmamak ve kendi muhakemene güvenmek gerek
Ama teknolojinin uygulama biçimini değiştirdiği de bir gerçek
Sonuçta önemli olan performans, maliyet, takvim ve kalite arasında denge kurabilmek
“Mühendislik bitti” iddiasına her zaman büyük tepki oluyor ama,
bana göre büyük ölçekli ürünlerde kod yazmak toplamın sadece %10-20'si
Geri kalanı tasarım, deney, analiz, iletişim gibi şeyler ve LLM'lerin bunların yerini alması zor
Hatta işbirliği ve koordinasyon daha da karmaşıklaşıyor ve LLM'ler bazen bunu daha kötü hale getiriyor
Bu yüzden AI'ı ikame değil araç olarak görmek daha doğru
Onlar da “on yıllardır süren geliştirme biçimi bitti” dedi, mühendislik bitti demedi
Kod yazmak %10-20 ise, kalan ‘konuşma’nın daha önemli hale geldiği anlamına geliyor
Linus'un dediği gibi, “kodun niyet edildiği gibi çalıştığını göstermelisin”
LLM'le birkaç satır yazmak kolay ama güvenli şekilde değiştirmek hâlâ zor
Honeycomb'dan Liz Fong-Jones'un da buna benzer bir hata yaptığını duydum
Şirketler LLM'lerin ROI'sini takip ettikçe gerçekle yüzleşecek
Şu an Gartner'ın hype cycle'ının tepesindeyiz, yakında hayal kırıklığı çukuruna ineceğiz gibi duruyor
Claude sayesinde hızlıca refactor yapıyordum ama bir noktada tamamen tıkandım
Çünkü ne istediğimi bilmiyordum
Veri modeli net değilken “devam et, yaz” dersen sonuç çok kötü oluyor
programlama kısa vadeli bir etkinliktir ama yazılım mühendisliği uzun vadeli bir süreçtir
AI birincisini hızlandırabilir ama ikincisinin yerini alamaz
“Net bir geliştirme planı ve uygulama bilgisi” varsayımı gerçekçi değil
Programlamanın kendisi zaten bir planlama eylemi ve dil mükemmel bir düşünme aracı
Bu yüzden insanlar LLM'lere farklı gözle bakıyor — dili düşünme aracı olarak görenler ve sadece uygulama aracı olarak görenler
İlki programlamanın kendi değerini görürken, ikincisi kodu görünmez kılmaya çalışıyor
Sonunda bir tercih yapıyorsun: baştan sağlam bir kavramsal model mi kuracaksın, yoksa sonra debug cehennemi mi yaşayacaksın
Bugünün araçları ilkine göre şekillenmiş değil. Büyük bir tooling açığı var
Bazıları iki yaklaşımı birleştirip yeni çalışma biçimleri geliştiriyor
“Talk is cheap”in asıl anlamı “konuşmak kolaydır ve değersizdir”
Ama “Code is cheap. Show me the talk.” ifadesi, ondan da değersizmiş gibi bir hava taşıdığı için baştan rahatsız ediciydi
Yazıyı okuyunca da tahminim doğru çıktı
Yazarı koddan bihaber biri değil. Açık kaynakta da oldukça aktif
Ana fikir basit — geçmişte iyi tasarımı koda dökmek pahalıydı,
şimdi ucuzladığı için tasarımın kalitesi daha önemli hale geldi
“Talk is cheap, show me the code” sözünün tersine çevrilmiş bir parodisi
Koddan ziyade geliştiricinin kafasındaki model asıl belirleyici şeydir
Kod, o modelin sadece yan ürünüdür; insan yorumu olmadan anlam taşımaz
Bu bakış açısı LLM kullanımını da ciddi biçimde etkiler
“On yıllardır yaptığımız şey bitti” sözüne katılmak zor
2005, 2015 ve 2025'te geliştirme biçimi zaten farklıydı
Değişim hep vardı; “on yıllardır aynıydı” varsayımı yanlış
Araçlar gelişti ama geliştiricinin çalışma tarzı benzer kaldı
bugünkü neovim onun çok ötesinde güçlü
Son 30 yılın kademeli ilerlemesi çoğu zaman küçümseniyor
O dönemde bilginin çoğu kâğıt kitaplardan ya da reverse engineering'den geliyordu
“Talk is even cheaper, still show me the code” sözü bana daha yakın geliyor
AI 10 kat verimlilik vaat ediyor ama pratikte böyle sonuçları neredeyse hiç görmedim
AI sayesinde karmaşıklık biraz daha katlanılabilir hale geldi ama React uygulaması yazmak hâlâ acı verici
Deterministik olmayan API'lerle uğraşmak da zor
Yine de yazım hatalarıyla ve örnek aramakla daha az vakit kaybetmek güzel
Ama muhakeme eksikliği ve bilgi sınırları yüzünden kodlama hâlâ sıkıcı
bunu ANSI karakterlerine çevirerek terminale basıyor —
yani aslında curses ile basitçe yapılabilecek bir şeyi gereksiz yere karmaşıklaştırmış
“Code is cheap. Show me the talk.” gibi ifadeler artık tıklama tuzağı olarak aşırı kullanılıyor
Yazının kendisi kötü değil ama yeni bir şey de söylemiyor
AI dalgasından faydalananlar sadece şirketler değil; blog yazarları ve influencer'lar da aynı şeyi yapıyor
AI hakkında olumlu ya da olumsuz yazılara kışkırtıcı başlık koyunca HN ya da Reddit'te hemen trend oluyor
Bu arada bu ifadenin çıkış noktası şu tweet ve
şu meme sayfası
Nihayet biri uçlar arasındaki gerçekçi orta alanı iyi ifade etmiş
LLM'ler ne tanrı ne de felaket. Bir araç
OpenAI, Google, Microsoft gibi şirketlerin rant çıkarımını eleştirirken
Qwen ya da Mistral gibi yerel modellerden yararlanmak mümkün
Cloud tabanlı LLM'lerde güvenlik nedeniyle E2EE mümkün değil, bu yüzden kurumsal ortam için uygun değiller
Ama yerel LLM'ler sayesinde artık tek başına kurumsal ölçekte işler yapmak mümkün
Tek bir Mac Mini ile veritabanı sorguları, API entegrasyonu ve otomasyon yürütüyorum
Büyük bir organizasyon değilseniz, kıdemli bir generalist tek başına üç mid-level'ın yerini alabilir
Elbette işlerin azalması ya da telif gibi konularda hâlâ ciddi itirazlarım var,
ama yerel LLM'ler benim temel araç setimin bir parçası haline geldi
"inanç" içinde olan insanlara
göstermek istediğim bir yazı bu