Şu Anda Neler Oluyor?
(catskull.net)- Yazılım sektöründe mühendis tükenmişliği derinleşiyor; özellikle junior mühendisler AI araçlarının aşırı kullanımı nedeniyle kod kalitesi ve iş birliğinde sorunlara yol açıyor
- Senior mühendislerin geri bildirimleri bir öğrenme fırsatı olarak değil, AI'a verilecek yeni prompt'lar olarak kullanılıyor ve "AI'ın yazdığı kod" tüm ekibin review kapasitesini tüketiyor
- Bazı organizasyonlarda AI'ın ürettiği eksik kod, sanki bir başarıymış gibi paketlenip sunuluyor ve AI bağımlılığını teşvik eden bir atmosfer oluşuyor
- Yazar, AI kaynaklı kod açıklamaları aldığında bizzat rahatsızlık ve yabancılaşma hissi yaşadığını, AI'ın öğrenme ve mentorluk kültürünü aslında zedelediğini savunuyor
- AI startup ekosisteminin de sonuçta ekonomik verimsizlik, elektrik tüketimi ve çevresel sorunlar nedeniyle sürdürülemez olduğunu; mevcut durumun adeta "kral çıplak" türü bir aldatmaca olduğunu vurguluyor
Giriş: Tedirgin edici bir mühendislik ortamı
- Son dönemde mühendisler arasında tükenmişlik giderek ağırlaşıyor
- Organizasyonlarda senior mühendislerden, gerçekte düzgün çalışmayan "hissiyat (meme) tabanlı özellikleri" incelemeleri ve katkı sunmaları bekleniyor
- Benim deneyimime göre en iyi mühendisler, yeni ekip üyelerinin gelişmesine yardımcı olma konusunda her zaman istekli oluyor
- Ancak bu geri bildirimler gelişim fırsatı olarak kullanılmak yerine, junior geliştiriciler bunları sadece üretken yapay zekaya verilecek bir sonraki prompt olarak kullanıyor
- Gerçekten de birçok junior mühendisin LLM (büyük dil modeli) araçlarını (suistimal düzeyinde) kullandığına bizzat tanık oldum
Organizasyon içinde gerçek örnekler: AI suistimalinin zararı
- Yakın zamanda şirket town hall toplantısında junior mühendislerin yeni çalışmalarını sergilediğini gördüm
- Özelliğin amacı ya da nasıl çalıştığı konusunda bile yeterli anlayış göstermiyorlardı
- Ancak büyük ölçekli organizasyonlarda odak, gerçek sonuçlardan bağımsız olarak bir "başarı" görüntüsü üretmeye kayıyor
- Bir senior yönetici bu kişilerin AI kullanım örneklerini paylaşırken, "bu Claude'un yazdığı 4 bin satırlık kod" diyerek bunu gururla anlattı ve alkış aldı
- Ben de mevcut bir özelliğe dair küçük bir iyileştirme talebi alıp kodu incelerken, yakın zamanda değişiklik yapan junior mühendisten bağlam istedim
- Github commit URL'sini gönderip soru sordum; ancak içeriği LLM'e verip dönen yanıtı kopyalayarak bana ilettiğini düşündüm
- Bu süreçte tuhaf bir yabancılaşma ve rahatsızlık hissettim
AI eğimi ve code review'un sınırları
- Bir arkadaşımın deneyimi üzerinden, bir ay boyunca birden fazla mühendisin LLM'in otomatik ürettiği kodu (
vibe-codedPR'lar) inceleyip merge etmeye çalışarak zaman kaybettiğini doğruladım - Başka bir arkadaşım da AI'ın ürettiği "dağınık kodu" tekrar tekrar review etmekten tükendiğini anlattı
- AI sayesinde kod kalitesi ya da öğrenme gelişmiyor; sadece tekrar eden angarya artıyor
Geliştirme kültürü ve insani büyümenin gerçek değeri
- Her mühendis, çalışma arkadaşları ve mentorları sayesinde adım adım gelişir
- Bizzat öğretmek ve insan yetiştirmek, yazılım mühendisliği kültürünün özüdür
- Ancak bu tür yatırımların çıktısının hemen "en yeni model"in eğitim verisine kopyalandığı bir gerçeklikte, insan ister istemez kuşku duyuyor
- O zaman junior mühendis yetiştirmek yerine yalnızca modeli eğitmek mi daha iyi olur sorusunu temelden gündeme getiriyor
- Böyle bir dünya son derece karanlık bir vizyon olurdu.
AI kullanmama deneyi ve sonuç
- Doğrudan, "AI kullanmayı bırakmayı deneyin" önerisinde bulunuyor
- Kendisi de kısa süre önce bilgisayarını sıfırlarken Claude Pro aboneliğini iptal etti
- Birkaç arama, Stack Overflow ve resmi dokümanları okuma süreci, aslında çok daha güvenilir sonuçlara ulaşmayı sağladı
- LLM'in sunduğu sonuçlara kıyasla, kendi muhakememin doğruluk ve güvenilirlik açısından daha üstün olduğu fikrine vardım.
Üretken AI araçlarının ekonomik değeri ve yapısal sınırları
- "AI gerçekten faydalı mı?" sorusunu soruyor
- Nesnel bakıldığında, bu değere dair ciddi soru işaretleri var
- AI startup'larının tipik süreci şöyle işliyor:
- "AI" mevcut bir alana uygulanıyor ve verimlilik söylemiyle yeni girişimler ortaya çıkıyor
- AI startup'ları risk sermayesinden yatırım almayı başarıyor
- AI hizmet sağlayıcılarına (OpenAI vb.) kullanım ücreti ödüyorlar
- Ancak AI startup'larının kendisi kâr edemiyor
- Sadece bu sürece bakınca klasik VC ekosisteminden çok farklı görünmeyebilir; ama temel fark, hizmet sağlayıcıların da (OpenAI vb.) hâlâ kâr edememesi
- Teknolojinin kendisi yapısal olarak verimsiz ve büyük ölçekte büyümeye elverişsiz
- Aşırı elektrik tüketimi ve çevresel yan etkiler de ciddi bir sorun
Sonuç: Gerçekliği kabul etme ihtiyacı
- Moore yasasının yeniden canlanmasını ya da evren soğumadan herkesin zengin olmasını umut edebilirsiniz
- Ancak gerçeklere bakıldığında, üretken AI işi bir tür yanılsama ve "kral çıplak" durumu olarak görünüyor
5 yorum
Teknolojinin en uç noktası olan nükleer bombaların ardından çıkacak bir dünya savaşından sonra insanlığın yeniden ilkel çağa döneceği yönündeki kaygı, bugün yazılım geliştirme alanında şu anda yaşanıyor.
Bence sadece aşırı vibe coding'i bırakmak yeterli olur. Asistan olarak ve bazı ayrıntılı ama basit algoritmalar yazmada bunun gibisini bulmak zor denecek kadar iyi.
Hacker News görüşü
Yapay zekayı bir kuruma entegre etmenin yalnızca teknik bir mesele değil, aynı zamanda bir değişim yönetimi sorunu olduğu vurgulanıyor. Gerçek etkiyi görmek için, güven ve şeffaflık temelinde çalışan yetkin ekiplerin insan uzmanlığı ile LLM’lerin güçlü yanlarını dengeli biçimde birleştiren süreçler kurması gerekiyor. Küçük ekiplerin yapay zekayla büyük çıktılar ürettiği örnekler de ortaya çıkıyor. Ancak çoğu kurum, özellikle büyük şirketler, sağlıklı bir kurum kültürüne sahip olmadığından yapay zeka bu toksisiteyi daha da büyütüyor. Bazı şirket yöneticileri "Story Point" kavramını yalnızca zaman birimi sanıp yapay zekayı her şeyi yarıya indirecek bir araç gibi görüyor. Temelde, sürdürülebilir yazılım üretme sürecinden kopuk oldukları için yapay zekayı alelacele kâr artıran bir kanal olarak algılıyorlar. Yakın zamanda yayımlanan ve yapay zeka pilot projelerinin %95’inin ROI’ye ulaşamadığını gösteren araştırma da modern yönetimin yetersizliğine bir örnek olarak görülüyor
"Prompstitudes"un, yani yalnızca prompt’lara yaslanan beyaz yakalıların ortaya çıkışından söz ediliyor. Bir çalışma arkadaşının, kendi görüşünü tahmin etmiş bir ChatGPT yanıtını doğrudan ilettiği ve bunun makalede anlatılan türden bir "işgal edilmişlik hissi" yarattığı anlatılıyor. Bunların beceriksiz olmaktan çok LLM’lere aşırı bağımlı hâle geldiği, adeta slot makinesi başından kalkmayan kumarhane müdavimleri gibi göründükleri söyleniyor
Yakın zamanda bir iş arkadaşıyla konuşurken, gelen yanıtın açıkça ChatGPT çıktısı olduğu için rahatsızlık hissedildiği paylaşılmış. Hatta görmezden gelinmenin daha iyi olacağı düşünülmüş. Özellikle LLM’in yanlış şeyleri aşırı özgüvenle savunması sorunu daha da büyütüyor. Küçük ayrıntılar bile (örneğin yapılandırma ile uygulamadaki isimlerin biraz farklı olması) LLM’i tamamen şaşırtabiliyor. İnsanlardan farklı olarak, LLM’ler hatalarından öğrenmediği ya da bunun farkına varmadığı için sürekli yanlış yöne kayabiliyor. Duygusal olarak, kötü insan koduyla uğraşmanın bile daha katlanılır olduğu söyleniyor
"Yapay zeka araçları gerçekten faydalı mı?" sorusuna yanıt olarak, kendisinin bunları çoğunluktan farklı kullandığı ve bu yüzden yararlı bulduğu söyleniyor. 1983’ten beri yazılım geliştirdiği, şu anda emekli olduğu ve çoğunlukla tek başına çalıştığı belirtiliyor. Pek çok araç denenmiş ama şu anda yalnızca ChatGPT ve Perplexity kullanılıyor. Doğrudan kod yazdırmak yerine, LLM’in önerdiği kod başlangıç noktası olarak alınıyor. Bazen olduğu gibi kullanılsa da çoğu zaman düzenleme ve yeniden yazma gerekiyor. LLM giderek daha kötü çıktılar vermeye başladığında ise bağlantı kesilip yeni bir yaklaşım deneniyor. Bu akış içinde, genç bir mühendisin yalnızca LLM kodunu takip ettiğini hayal etmenin bile ürkütücü olduğu söyleniyor. En büyük değerinin, "anında yanıt veren bir StackOverflow" gibi olması olduğu ifade ediliyor. Ne kadar saçma olursa olsun utanmadan soru sorulabiliyor ve hızlıca makul bir yanıt alınabiliyor. Yakın zamanda iOS’ta PassKey uygulamasını öğrenirken ChatGPT örnek kodu başlangıç noktası olarak alınmış, satır satır anlaşılmaya çalışılmış. İlk yazılan kod ile mevcut tamamlanmış sürümün tamamen farklı olduğu, bu süreç sayesinde teknik anlayışın derinleştiği söyleniyor
LLM’lerin teknik soruları yanıtlama ya da yeni yaklaşımlar önerme konusunda çok iyi olduğu düşünülüyor. Yeni başlayanlar bile StackOverflow’daki gibi yargılanmadan ya da duvara çarpmadan rahatça soru sorabiliyor. Copilot’un otomatik tamamlama konusunda güçlü olduğu, kod yazma hızını artırdığı ve yorum satırlarıyla kod satırlarını tamamlayabildiği belirtiliyor. Bu tür küçük yardımların gözden geçirilmesi de kolay oluyor. Ancak LLM’e karmaşık kodu baştan sona bırakınca kaos çıktığı ve sonunda daha çok debug yapmak zorunda kalındığı söyleniyor. Yeni başlayanların LLM’lere aşırı güvenmesi durumunda gerçek geliştirme becerileri edinmelerinin zor olacağı düşünülüyor
Kişisel olarak Zed’in hobi amaçlı geliştirmede tercih edilmesinin nedeni, yapay zekanın aşırı akıllıymış gibi davranmaması olarak anlatılıyor. Gerekince yapay zeka özellikleri yumuşak biçimde çağrılabiliyor, normalde ise kişi sadece kendi kodunu yazıyor. İş yerinde ise VSCode AI yüzünden fazla rahatsızlık yaşandığı söyleniyor. İki temel sorun var: birincisi etkileşimin çok kolay bozulması (popup’a tıklamak, yanlışlıkla devasa bir otomatik tamamlama eklemek), ikincisi de akışın bölünmesi. Yapay zeka otomatik tamamlaması bazen yararlı olsa da (yaklaşık üçte bir oranında), geri kalan zamanda düşünce akışı bozuluyor ve AI çıktısını kontrol etmek dikkati dağıtıyor. Zed’de bu sorunların olmaması sayesinde programlamanın keyfinin yeniden bulunduğu ifade ediliyor. Sonuç olarak sorunun yapay zeka özelliğinin kendisinden çok uygulanış biçiminde olduğu söyleniyor
Yapay zekanın UX prototipi üretmek için çok yararlı olduğu düşünülüyor. Kısa sürede tıklanabilir bir çıktı elde edilip, yön bulmak için bunun üzerinde pek çok yineleme yapılabiliyor; ardından bu kod atılıp sıfırdan yeniden geliştiriliyor. Bu yaklaşımın, yanlış yöne erkenden büyük zaman harcamayı önlediği söyleniyor. Ancak hâlâ yapay zekayla baştan sona anlamlı bir uygulama üretmenin uzak olduğu düşünülüyor
Yapay zekanın kendisi için sadece bir araç olduğu söyleniyor. Kişi üst seviye bir geliştirici olmadığını, ama kişisel projelerde tıkandığı noktalarda yapay zekadan fikir ve geri bildirim almak için yararlandığını belirtiyor. Önemli olan, kod yazmayı yapay zekaya bırakmamak olduğu söyleniyor; ancak çok basit boilerplate parçaları buna istisna olabilir. Kodun bizzat yazılmasının problem çözme, üretme ve öğrenme sürecinden alınan keyifle ilgili olduğu vurgulanıyor
Yakın zamanda bir iş arkadaşının kod incelemesinde, çok boyutlu dizileri karıştırıp filtreleyen karmaşık bir
prepareDatafonksiyonu görüldüğü anlatılıyor. Bu fonksiyonun ne işe yaradığı sorulduğunda, zaman kazanmak için LLM’e sorulması tavsiye edilmiş ve bunun karşısında şaşkınlık yaşanmış. Kod incelemesindeki en temel soruya bile yanıt verilmemesinin hayal kırıklığı yarattığı söyleniyorOn yıl sonra yeni geliştiricilerin hiç kod yazma deneyimi edinmeden doğrudan kıdemli olmaya çalışacağı endişesi dile getiriliyor
İlk geliştirme aşamasında ortam kurulumu ve küçük
functionbirimleri düzeyindemodulegeliştirmede yapay zeka çok etkili, ancak bunun dışındaki, koda ve prompt'lara abanılan vibe coding yaklaşımı bakım perspektifinden bir felakettir. İlk birkaç denemede başarılı olabilir, ama sonunda her sorun çıktığında yapay zekanın kendi sorununu çözmesine kadar N kez denemek zorunda kalırsınız ve o çözümün başka hangi bug'lara yol açacağını bilememenin korkusu sürekli sürer.Geliştiricinin yeteneğine bağlı olarak
Temeli olan biri kullanırsa yapay zekadan yararlanarak yüksek kaliteli geliştirme yapabilir
Temeli yoksa iş bambaşka yerlere gider
Aşçının temelinin olup olmaması arasındaki fark gibi