Bir Kodlayıcının Gözünden Kodlama Zanaatının Sönen Günleri
(newyorker.com)- Profesyonel bir programcı olan yazar, çocuğuna kodlama öğretme konusundaki inancının GPT-4 deneyiminden sonra sarsıldığını ve çocuğu klavye kullanacak yaşa geldiğinde kodlamanın mesleki değerinin değişmiş olabileceğini düşünüyor
- Yakın dönemde neredeyse hiç kodlama deneyimi olmayan arkadaşı Ben, ChatGPT Plus ve GPT-4 ile komut satırı araçlarını, iPhone için kelime değerlendirme uygulamasını, mikrodenetleyici ve Firebase entegrasyon kodunu hızla üretti
- Kodlama uzun süre sabır, tekrar tekrar hata ayıklama ve makinenin sınırlarını sezgisel olarak anlama anlamına gelen mechanical sympathy gerektirdi; ancak yapay zeka desteği, ayrıntılı uygulamanın ve zor bilgilerin bir bölümünü doğal dilde sohbetle ikame etmeye başladı
- GPT-4 hâlâ profesyonel programcılardan geri kaldığı yönlere sahip ve sıradan insanların onu aynı şekilde kullanması da zor; ancak programcı ile yapay zekanın birleştiği centaur biçimi, tek başına insandan ya da tek başına yapay zekadan farklı bir üretkenlik gösteriyor
- Kodlamanın kendisinin önemi azaldıkça, neyin yapılacağına karar verme, kullanıcıların neyi seveceğini anlama ve hem teknik hem de insani açıdan iletişim kurma becerileri daha önemli hâle gelebilir
GPT-4'ün sarstığı kodlamanın mesleki kesinliği
- Yazar, ebeveynlerin okuma ve yazmayı öğrettiği gibi kendi çocuğuna da bilgisayar programlamayı öğretmeyi planlıyordu
- Kodlama, film yapımından fiziğe kadar uzanan yeni bir teknoloji ve temel bir yetkinlik olarak görülüyordu
- Profesyonel bir kodlayıcı olan yazar, çocuğu klavye kullanabilecek yaşa geldiğinde kodlamanın değerinin ortadan kalkmış olabileceğini hissetti
- Dönüm noktası, arkadaşı Ben ile birlikte Times tarzı çapraz bulmacaları bilgisayarla üretmeye yönelik hobi projesiydi
- 2018'de yazılım yardımıyla cumartesi bulmacası yapmışlardı; insanın rolü yalnızca biraz zevk katmak gibiydi
- Bu kez insan dokunuşu olmadan bulmaca üreten bir program yapmak istediler
- Ben donanım konusunda güçlüydü ama profesyonel kodlama deneyimi kısa ve yüzeyseldi; neredeyse 20 yıl önceki seviyede kalmıştı
- Buna rağmen ChatGPT Plus'a abone oldu ve GPT-4'ü kodlama yardımcısı olarak kullanmaya başladı
- Proje için gereken küçük araçları şaşırtıcı hızla kendi başına üretti
Bir hobi projesinde görülen yapay zeka kodlama desteğinin performansı
- Sözlük dosyasından rastgele 100 satır yazdıran bir komut oluştururken yazar problemi düşündü, arama yaptı ve deneme yanılma yaşadı
- Ben ise GPT-4'e ne istediğini söyledi ve çalışan kod aldı
- Yazar, bu tür komutların zaten zorlayıcı olduğunu ve herkesin bakıp öğrendiği bir alan sayıldığını, bu yüzden bunun “gerçek programlama” olmadığını düşündü
- Birkaç gün sonra Ben, sözlük kelimelerini değerlendiren bir iPhone uygulaması yapmak istediğini söyledi
- Yazar, Apple'ın programlama ortamını, yeni bir dili, UI bileşenlerini ve paketleme sürecini öğrenmek gerekeceği için iPhone uygulaması yapmayı zahmetli görüyordu
- Ertesi gün Ben, istenen işlevi tam olarak yerine getiren ve sevimli bir tasarıma da sahip bir uygulama gönderdi
- Ben bunu birkaç saat içinde yaptığını ve zor işlerin çoğunu GPT-4'ün hallettiğini söyledi
- Ben ayrıca Kral Charles portre çerçevesine küçük bir hoparlör ve kırmızı LED bağlayan bir proje de yürüttü
- Bir web sitesine mesaj girildiğinde hoparlörün müzik çaldığı, LED'in ise taç mücevherleri gibi Mors alfabesiyle yanıp söndüğü bir cihazdı
- Yeni mesajları getiren kod, mikrodenetleyici ve Firebase bilgisi gerektirdiği için Ben açısından zordu
- GPT-4, Firebase'in uygun işlevini ve mikrodenetleyicide kullanılabilecek kodu önerdi
- Ben, GPT-4 ile Nokia cep telefonlarındaki Snake oyunu gibi bir şey de yaptı
- Kısa bir sohbetin ardından, kaybedildiğinde en iyi rotadan ne kadar sapıldığını gösteren bir özelliği de ekletti
- Yazar, bu değişikliği kendisinin yapıp yapamayacağından emin değildi
- GPT-4 bunu yaklaşık 10 saniyede yaptı
Kodlamanın sunduğu çekicilik ve ustalığın oluşumu
- Yazarın bilgisayarlara ilk kez hayran kalmasına yol açan deneyim, 1990'ların başında Montreal'de ağabeyiyle Mortal Kombat oynamasıydı
- Ağabeyi MS-DOS terminalinden bir FTP sunucusuna bağlanıp komutlar giriyor, oyundaki tüm fatality talimatlarını içeren kodu yazdırıyordu
- Yazar ağabeyini bir hacker gibi görüyordu; gizli yerleri ve bilgileri bulmanın cazibesini hissediyordu
- “The Hacker’s Manifesto”daki “suçum merak” cümlesi ve 1995 yapımı “Hackers” filmi, bilginin güç olduğu duygusunu pekiştirdi
- Filmde Dade Murphy bilgisayar kitaplarını yalnızca kapaklarından tanıyor, klavye girişleriyle okulun sprinkler sistemini ve petrol tankerinin dengesini kontrol ediyordu
- Yazar için hacking, yıkımdan çok gizli olanı öğrenme eylemine yakındı
- Lisede satın aldığı Ivor Horton'ın “Beginning Visual C++” kitabı, 1.200 sayfalık ilk başlangıç kitabıydı
- Başları kolaydı ama “Dynamic Memory Allocation” bölümünde takıldı
- Bunu, Orta Çağ öğrencilerinin ilk zor noktaya verdiği pons asinorum, yani “eşek köprüsü” benzetmesiyle anlattı
- “Hello, world” çalıştırılana kadarki deneyim, programlamanın bilgi ya da beceriden çok sabır ve saplantıya yakın olduğu hissini verdi
- Borland C++ derleyicisini çalıştırmak için günlerce uğraştı; bir hatayı düzelttiğinde başka bir hata çıkıyordu
- Sonunda “Hello, world” ekranda belirdiğinde bilgisayarın kendi sesiyle uyanıp selam verdiğini hissetti
- Üniversite yıllarında küçük programlar yazarak kodlamanın keyfini genişletti
- 2006 Masters Tournament'ta Tiger Woods birdie ya da bogey yaptığında kısa mesaj gönderen bir program yaptı
- “Ulysses”ten cümleleri rastgele seçip hece sayısını sayan ve haiku oluşturan bir program da yazdı
- Arkadaşlarıyla oynadığı “Jimbo Jeopardy!”yi 14 saatte yaparken, birinin kendi yaptığı şeyden keyif almasının ne kadar güçlü bir deneyim olduğunu hissetti
Yazılım mühendisinin altın çağı ve otomasyon paradoksu
- 2009'da finansal kriz sırasında 2.9 GPA ile mezun oldu, ancak pratik programlama deneyimi sayesinde ilk tam zamanlı işini kolayca buldu
- O dönemde şirketler iyi programcılar için rekabet ediyor, deneyimli programcılara agresif biçimde ulaşıyordu
- Bilgisayar bilimi bölümlerinin popülaritesi patlamaya başlamıştı; kodlama bootcamp'leri, yeni başlayanları bir yıl içinde yüksek maaşlı programcılara dönüştürebileceklerini öne sürüyordu
- Düşük faiz oranları ve teknoloji sektörünün büyümesi içinde yazılım mühendislerine gösterilen ilgi arttı
- Google gibi şirketler ücretsiz espresso, catering yemekleri, iyi sağlık sigortası, ebeveyn izni, şirket içi spor salonu, bisiklet park yeri, rahat kıyafet ve 20% time gibi uygulamaları yaygınlaştırdı
- Kodlama işinde her an hata ortaya çıkabileceği için süre tahmini yapmak aptalca görülüyor, teslim tarihleri neredeyse tabu sayılıyordu
- Baskı çok artarsa “burnout” sözcüğünü söylemenin bile birkaç ay kazandırabildiği bir hava vardı
- Bu muamelenin devam edip edemeyeceğine dair şüpheler de büyüdü
- Geçmişte web tasarımı, hafta sonu yapılan işlerle binlerce dolar kazandıracak kadar yüksek talep görüyordu
- Squarespace gibi araçlar ortaya çıkınca pizzacı sahipleri ya da serbest sanatçılar da yalnızca tıklayarak web sitesi yapabilir hâle geldi
- Profesyonel kodlayıcılar için yüksek gelirli, düşük eforlu işlerin bir kısmı ortadan kalktı
- Programcı topluluğunun tepkisi, daha zor teknolojileri sürekli öğrenmek gerektiği yönüne yakındı
- Yazılım mühendisleri otomasyonu sever; iyi mühendisler, başka türden işleri gereksiz kılan araçlar üretir
- Tek bir kod parçasının milyonlarca insanın işini etkileyebilmesi anlamına gelen kaldıraç etkisi, programcılara gösterilen muamelenin gerekçesiydi
- Aynı otomasyon içgüdüsü, programcıların kendi işinin de bir bölümünü ikame eder
Yapay zeka çağında programcı: centaur ve geriye kalan yetkinlikler
- Şirkette yapay zeka sohbet botlarını programlama yardımcısı olarak kullanmak mümkün hâle geldikten sonra yazar başlangıçta bilinçli olarak bundan kaçındı
- Kısa süre sonra iş arkadaşlarının ekranlarında yapay zeka sohbetlerindeki soru-cevap kalıplarını sıkça görmeye başladı
- İş arkadaşları bu araçların üretkenliği artırdığını ve bazı durumlarda sorunları 10 kat daha hızlı çözmelerini sağladığını söylüyordu
- Yazar, yapay zekanın bulmaca çözme keyfini ve kendi başına çözmüş olmanın tatminini elinden alacağından endişelendi
- Tipik programlama çıktıları çoğu zaman ilginç değildir; bazen gülünç derecede sıradandır
- Örneğin önemli bir belgedeki tabloda birden fazla sütunu kapsayan bir başlık eklemek, sonuca bakınca basitti
- Ancak kullanıcı API'sinin nasıl yapılacağı, veri olmayan sütun atlandığında nasıl davranılacağı üzerine düşünmek, keyfin özünü oluşturuyordu
- Sonunda iş sırasında arama sonuçlarında kullanıcı sorgusuyla eşleşen bölümleri vurgulayan küçük bir araç yaparken GPT-4'ü kullandı
- Edsger W. Dijkstra, 1978'de “On the Foolishness of ‘Natural Language Programming’”de doğal dilin, bilgisayarın sağladığı kesinliği terk eden bir yaklaşım olduğunu düşünüyordu
- GPT-4'ü fiilen kullanmak “sorunu çöz” demek seviyesinde değildi; ne istendiğini, bir acemiye anlatır gibi dikkatle belirtmek gerekiyordu
- Başarısızlıkları izleyerek prompt'u daha az iddialı hâle getirmek ve problemi somut, soyut ve belirsizlik taşımayan alt problemlere bölmek gerekiyordu
- Sonraki işlerde GPT-4'e uygun boyutta boşluklar görünmeye başladı
- Çapraz bulmaca çıktısını güzel görünen bir web sayfasına dönüştürme işinde de GPT-4 ile sohbet etti
- Her harfi yatay ve dikey kelimelerle ilişkilendirmek gibi ayrıntılı bir problem vardı; ama eskisi gibi sayıları, kalıpları ve döngüleri zihninde simüle etmedi
- Geoffrey Litt'in benzer bir deneyimden sonra yazdığı gibi, “ayrıntıcı programcı beyni”ni kullanmadığı hissi kaldı
- Go'da Lee Sedol ve satranç örnekleri, yapay zekadan sonra da bir beceri kültürünün tamamen yok olmadığını gösteriyor
- Lee Sedol 2016'da AlphaGo'ya yenildi; birkaç gün süren maçlardan sonra bir oyunu kazanmış olmaktan gurur duydu ve üç yıl sonra emekli oldu
- Satranç, yapay zeka tarafından fethedildikten sonra bile daha popüler hâle geldi; öğrenenler yapay zeka koçlarından kendi seviyelerinin hemen üstünde problemler ve yenilgilerinin nedenlerini alabiliyor
- En üst düzey grandmaster'lar bilgisayarın önerdiği hamleleri ilahi tabletler gibi inceliyor
- GPT-4 şu anda yazardan daha kötü bir programcı ve sıradan insanların da onu programcılar gibi kullanması zor; ancak centaur yaklaşımı şimdiden ortaya çıktı
- Ben tek başına yazardan çok daha kötü bir programcı, GPT-4 tek başına da hâlâ yazardan kötü; ama Ben ile GPT-4'ün birleşimi tehditkâr bir üretkenlik gösteriyor
- Yazılım yapmak kolaylaştıkça daha fazla yayılabilir; programcılar tasarım, kurulum ve bakımı üstlenebilir
- Kodlamanın kendisi daha az önemli hâle gelirse, neyin yapılmaya değer olduğunu, kullanıcıların neyi seveceğini ve hem teknik hem de insani olarak nasıl iletişim kurulacağını bilmek daha önemli olabilir
- Çocuğuna öğreteceği şey belirli bir teknolojiden çok hacking ruhu olabilir
- Gelecekte C++ ya da Python'ı doğrudan yazarak programlama yapmak, delikli kartlara ikili komutlar vermek kadar tuhaf görünebilir
- Bilgisayara isteneni tam olarak yaptırmak, kibarca rica edilen bir şeye dönüşebilir
- Tarım çağının kodlayıcıları su değirmenleri ve ürün çeşitleriyle uğraşıyor; Newton çağında ise cam, boyalar ve zaman ölçümüne takıntı duyuyor olabilirdi
- Sonraki kuşak, ebeveynlerinin kara kutu olarak gördüğü yapay zekanın içini kurcalayarak gecelerini geçirebilir; kodlama çağı sönse bile hacking devam eder
3 yorum
Yazının son kısmı biraz kesilerek özetlenmiş, ama son cümle önemli.
"Kodlama çağının sona erdiği konusunda endişelenmemeliyim. Hacking sonsuza kadar var olacak."
"Kodlama çağının sona erdiği konusunda endişelenmeye gerek yok. Çünkü hacking sonsuzdur."
Bard’a entegrasyon özelliği gelir gelmez prompt injection ile bilgi sızdırmanın falan mümkün olduğunu görünce
sanırım hackleme sonsuza kadar var olacak.
Hacker News görüşleri
GPT-4 gerçekten etkileyici, ama bana göre yazılım geliştirmenin özü kod yazmanın kendisi değildi
GPT-4 sık sık başarısız oluyor; başarısız olma biçimi de net değil ve eğitim materyalinin az olduğu alanlarda daha da büyük çöküyor
20 kat daha iyi olsa bile, iyi yazılımları daha ucuz ve kolay üretmek mümkünse bunun dünya için iyi bir şey olduğunu düşünüyorum
Kod yazmayı gerçekten hobi olarak seven biriyseniz yapay zeka bunu engellemez; kod yazma ortadan kalksa bile yazılım mühendisliğinin özünün zaten orada olmadığını hissediyorum
LLM hızlı ve fena değil ama hatası bol bir Stack Overflow ikamesine daha yakın; programcı yetkinliğini tamamlayan bir araç olarak kısa ve orta vadede net etkisi oldukça olumlu görünüyor
Takıldığım problemler genelde kapsamı çok geniş ve karmaşık olduğu için insanın kafasına bile zor sığan şeyler oluyor; GPT ise neredeyse kullanılamaz çözümler çıkarıyor
Kod konusunda her şeyden biraz bilen ama derinliği sığ bir genel amaçlı ayakçı gibi; junior–orta seviye geliştiriciler için durum farklı olabilir
Dışarıdan bakınca açıkça doğru görünen kodu debug etmenin programlamanın en keyifli yanı olduğunu düşünen pek az kişi vardır
Yine de LLM’i test paketi geçene kadar bir döngüde çalıştırmak ya da kanıt asistanının doğruladığı doğruluk kanıtıyla birlikte kod üretmesini istemek gibi daha iyi kullanım yolları bulunabileceğini düşünüyorum
Ancak benim zevkim, döngü sayısı ya da gecikme süresi gibi nicel metriklerle değeri ölçülen daha akademik kodlardan ziyade, bir miktar sanatsal takdir payı olan projelerden yanaydı
Kariyerimin başında keyif aldığım türden kodlama ChatGPT’den önce zaten azalmaya başlamıştı; mühendislerin dükkânı beklediği dönemde başlamış olmak şimdi bakınca bir ayrıcalıkmış gibi geliyor
Kod berbat; ben sadece bir şeyler yapmak istiyorum
Zaman geçtikçe LLM’lerden daha az etkilenmeye başlayan bir tek ben miyim diye düşünüyorum
2021’de Copilot ilk çıktığında benim de “yakında işe yaramaz hale geleceğim galiba” dediğim bir an olmuştu
Ama bizzat kullanım deneyimime ve araştırmalara bakınca, modern LLM’ler temelde kusurlu ve genel zekâya giden yolun üzerinde değil gibi görünüyor
GPT-4, 3.5’ten daha iyi ama temelde farklı değil; 5 de benzer olacak gibi. İleride gerçekten güçlü bir yapay zeka çıkarsa, bizim bu teknolojiye gösterdiğimiz ilgiyi görüp gülecek gibiyiz
Başta çok etkileyiciydi ama artık çok üst düzey bir taslak dışında güvenemiyorum
Örneğin sıfırdan bir ses sentezleyici uygulayıp ses örnekleri üretmek ve bunları wave dosyası olarak kaydetmek istediğimde, kavramı anlamamda taslak yardımcı oldu ama kod ince ince hatalıydı
Struct uzunluğunu hesaplarken nelerin uzunluğa dahil olduğu gibi ayrıntıları özellikle tutturamadı; acemi biri olarak bunun doğru olup olmadığından emin olmam da mümkün değildi
Kontrol etmesini istediğimde özür dileyip cevabını benim duymak istediğim yöne değiştirdiği için güvenilir değildi
Yine de tek başına programlama yaparken yalnızlığı azaltan bir araç olarak oldukça iyi; sadece fikir atıp tepkisini görmek bile yardımcı oluyor
İlk sinema izleyicileri basit siyah-beyaz filmleri bile ürkütücü bulmuş, ekrana doğru gelen treni görünce eğilmişlerdi
Gramofonu ilk duyanlar da canlı orkestradan ayırt edemediklerini söylemişti
Bir teknolojiyi öğrendikçe o teknolojiyi tanımayı da öğrenir, sınırları ve güçlü yanları hakkında bir sezgi geliştirirsiniz. Bu yüzden zaman geçtikçe daha az etkileyici gelir
Daha önce yapamayacağını sandığınız bir işi başardığında etkilenmek kolaydır; ama sonradan yapabileceğini beklediğiniz bir işi yapamadı diye hemen küçümsemeye başlamazsınız
GPT-5 benzer bir sıçrama yaparsa, onu kullanmadan rekabet etmek zorlaşacak
İkisi de GPT modeli ve basit bir özbağlanımlı dil modeli olarak eğitildi; ancak GPT-4’ün çeşitli bağlamlarda isteğe uygun biçimde bilgiyi düzgünce sentezlediği anlarda, bireysel düzeyde bile dramatik bir değişim hissediliyor
LLM nihayetinde büyük miktarda metin üzerinde olasılıksal çıkarım yapıyor; ama yeterli hesaplama gücü ve veri varsa büyük bir modelin, veriyi en iyi şekilde anlamak için gereken yapıları eğitim sırasında oluşturabileceğini düşünüyorum
Veri çok modlu hale geldiğinde her modalite yanlış dünya temsillerini silip netleştireceği için etki basit bir toplam değil, çarpım gibi büyüyebilir
Metin, görüntü, video, ses ve tat sensörleriyle eğitilmiş GPT-10’un ne kadar iyi olacağını görüp güleceğiz; yine de GPT-4’ün insanlığın attığı herhangi bir adımdan daha büyük bir ilerleme olduğunu düşünüyorum
“2 ile 2’yi toplayan ifadeyi yaz” diye prompt verip gereken
2+2yi elde eden ve bunun sihirli bir verimlilik olduğunu ciddi ciddi savunan insanlar görüyorumAçıkçası uzun uzun yazmayı pek sevmiyorum; benim için kod, doğal dille açıklamaktan her zaman daha kısa ve hızlı. Zaten koda en başta bu yüzden ihtiyaç var
Yüksek beklentilerden bakınca “temelde kusurlu” denebilir; ama pek çok kişinin düşündüğü gibi “işe yaramaz” referans noktasından bakınca şaşırtıcı bir araç da denebilir
Junior geliştiricilere verdiğim basit frontend testini birkaç ayda bir ChatGPT’ye de yaptırıyorum; şimdiye kadar hiç geçemedi. Yakınına bile yaklaşamadı.
Kendinden emin yanıt veriyor ama ince belirsizlikler ve hatalar var; ürettiği kod da 8 sayfalık özgeçmişine 50 teknolojiyi “master” seviyesinde bildiğini yazan yeni mezun bir bootcamp’linin çıkaracağı türden saçma koda benziyor.
Daha iyiye gittiyse ben fark etmedim.
10 yıl önce de otonom kamyonların 10 yıl içinde kamyonculuk sektörünü altüst edeceği söyleniyordu; LLM’ler etrafındaki medya haberleri de aynen böyle.
Havalı, ama her sola döndürmeye çalıştığınızda saatte 100 mile hızlanıp duvara çarpması seviyesini daha ne kadar tekrar edeceğiz, diye düşünüyorum.
Yapay zekayı, insanların asla bağlayamayacağı noktalar takımyıldızını birbirine bağlayıp, sonucu bir uzmanın doğruladıktan sonra ilerlediği biçimde kullanmak isterim.
gpt installile yeni bir CLI aracı ya da uygulama indireceğimiz gün ne zaman gelir bilmiyorum ama yakında değil.Az çok yaptım ama piksel piksel tutmuyordu; ekip lideri tekrar yapmamı söyledi. İş değeri sıfırdı ama ekibimiz pixel perfect olmaktan gurur duyuyordu.
Bu olay, frontend geliştirmeyi bırakmama yol açan etkenlerden biriydi.
Geçenlerde alıştırma olsun diye ChatGPT’den benzer bir CSS üretmesini istedim; kusursuz yaptı.
CSS’te orta seviyedeyim ama ChatGPT varken CSS ustalarının çıkardığı kaliteye yakın sonuçlar üretebiliyorum. Yazıda da söylendiği gibi, orta seviye generalistler artık uzmanlarla yarışabiliyor.
Benim deneyimim oldukça farklı. Biçim doğrulamaya kadar gerekirse her şeyi gerçekten uygulayan, zor beğenen bir backend geliştiricisiyim; mantıksal olarak çalışmayan şeylerden rahatsız olurum.
Bilgisayarlarla uğraştığımız için her şeyin mantıklı olması gerekir ama frontend’in birçok kısmı bana hiç mantıklı gelmiyor.
Frontend’ciye “metni nasıl ortalarım?” diye sorunca
text-aligndiyor; tabii ki önce onu denedim ama olmadı.Frontend’cilerin de basit bir soruya anında cevap vermek yerine bazen kendileri deneyip başarısız olması gerekiyor.
Artık Copilot cevabı hemen vermezse ChatGPT-4 ya da kod tabanımızı bilen kişiselleştirilmiş GPT’miz “front-end hacker” düzeltiyor. Her gün, gün boyu iyi çalışıyor.
İlk bakışta gelecekten gelmiş uzaylı teknolojisi gibi hissettiren etkileyici bir numara.
Ama zaman geçtikçe boşluklar görünür oluyor; aylar, yıllar kullansanız da bu boşlukların pek kapanmadığını fark ediyorsunuz.
İyileşme hızı, pazarlama ve söylemlerle kıyaslandığında kapatılması gereken fark açısından orta seviyede kalıyor; sonunda kullanmak, kullanmamaktan daha çok iş gibi bile hissettirebiliyor.
Tamamen veri odaklı makine öğrenmesi yaklaşımı, %80’in çok üzerinde doğruluk gerektiren problemler için uygun olmayabilir.
Sadece %55 doğru çıkarsa bile para kazandıran alım-satım algoritmaları, kaydırılacak film/şarkı listeleri gösteren öneri motorları, göz gezdirilecek arama sonuçları, gelen kutusu gürültüsünü azaltan spam filtreleri için sorun değil.
Ama “doğru cevap bu” demek ya da “insan öldürmeden araba kullanmak” gibi problemler çok daha zor.
Çoğu, interpolasyon yapılması gereken iki noktadan bile geçmiyordu; bunu söyleyince noktalardan geçen ama artık pürüzsüz olmayan fonksiyonlar verdi.
Defalarca baştan başlayıp gerçekten denedim.
Böyle bir şey makineleri kontrol eden kod yazarsa tam bir kaosa dönüşür; bu yüzden makine öğrenmesinin olduğu bir dünya ile robot teslimat dronlarının olduğu bir dünya arasında seçim yapmak gerektiğini düşünüyorum.
Yine de değişkenlerden fonksiyon parametreleri oluşturmak gibi önemsiz işlerde fena değildi.
Yine de bu görevin de eninde sonunda aşılacağını düşünüyorum; o zaman geriye kalan soru bunun gerçek yetenek mi yoksa veri sızıntısı mı olduğu olacak.
İnsanların gerçekten bu dönemi bu teknolojinin alacakaranlığı olarak görmesini anlamıyorum.
Benim açımdan yakında kodlamada kuantum üretkenlik çağına girecekmişiz gibi geliyor.
Yapay zeka desteği yalnızca yazdıklarımı iyileştirmekle kalmıyor, çalışırken öğrenmeme de yardımcı olduğu için çok heyecan verici. Son bir yıldaki kadar yazılım yazmaktan keyif aldığım başka bir dönem olmadı.
On yıllardır yazılım yazıyorum, ama artık takıldığım noktaları aşmama ve seçenekleri anlamama yardımcı olan bir koç neredeyse her zaman yanımda.
Bu, bir meslektaşın masasına gidip sorun sormak düzeyinde değil; gerçekten sonuca ilham veren üretken çözümler sunuyor.
Gerçekten şaşırtıcı.
Kodlamanın neden sona ermekte olduğu düşünülüyor, bilmiyorum. Yapay zeka kodlama asistanlarının iyi geliştiricilerin yerini alacağına dair bir kanıt görmüyorum. Bir şeyler üretme beceriniz gerçekten berbat değilse tabii.
Sanki biri “artık temel işi ücretsiz, ama evi hâlâ inşa edebilirsiniz” demiş gibi.
Ben hâlâ evi inşa etmek, planlamak, tasarlamak ve yapmak; insanlara duyurmak, desteklemek, savunmak ve açıklamak zorundayım. Sadece temeli kendim yapmak zorunda olmadığım için iş kolaylaştı.
Yapay zeka geliştiricileri iki kat üretken yaparsa, eklenen geliştirme kapasitesi mevcut ve yeni talep tarafından emilir mi? Geliştirici sayısı yarıya mı iner? Yoksa aynı sayıda geliştirici çok daha düşük ücretler mi alır?
Yapay zeka mevcut tek bir geliştirici işini bile tamamen ikame etmese de bu sorular ortaya çıkar.
Ayrıca hangi tür işlerin yapay zeka otomasyonuna uygun olduğu da önemli. Dar bir bağlamda, çıktıda küçük bir değişiklik yapmak için çok sayıda küçük teknik ayrıntıyı bilmeniz gereken CSS gibi işler akla geliyor.
Bu tür kodlama yapıyorsanız, beceri kapsamınızı daha geniş sorumlulukları içerecek şekilde genişletmenin zamanı geldiğini düşünüyorum.
Geçmişteki kodlayıcıların anlaması gereken birçok katmanı, yeni girenler anlamıyor; o katmanlar hâlâ davranışı ince biçimlerde etkileyebiliyor.
Son birkaç on yılın en yaygın web teknolojileri alanında 13 yıldan fazla programlama yapmış biriyseniz, web’in dayandığı tüm yığını anlamanın her yıl zorlaştığını hissedip teknolojinin alacakaranlığa girdiğini düşünebilirsiniz.
Frontend’de birinin ne yaptığını yalnızca koda bakarak öğrenmek giderek zorlaşıyor. Modern build teknolojileri yüzünden site koduna bakmak pek işe yaramıyor; bu şikâyet 13 yıl önce bile vardı.
Çocuğunuz ya da iş dışında sorumluluklarınız varsa, yazılımın giderek daha fazla alanı yutmasıyla birlikte, okul dışındaki insanların bilinçli pratikle becerilerini geliştirmesi daha da zorlaşıyor.
Üretkenlik artışı, zanaatkârlığın da artması anlamına gelmez. Bu, sanayileşmenin üretkenliği artırıp birçok ürünü yaygınlaştırmasına rağmen zanaat becerilerine iyi gelmemesine benzer.
Eskiden kartlara bileşen lehimleyebilen ve çeşitli entegre devreleri bağlayabilen insanları sık görürdünüz; ben de üniversitede bunu yapmıştım.
Artık o zanaatkâr katman ortadan kalktı; insanlar ya bilgisayar donanımının nasıl çalıştığını son derece iyi bilen uzmanlar ya da donanımı satın alıp ona sihir gibi davranan kişiler olarak ayrılıyor.
Geleneksel olarak insanlar ara aşamalardan geçerek ilgi gösterir, eğitim alır ve uzman olurdu; hobi mesleğe dönüşebilirdi.
Bugün bir çip fabrikasında çalışıyorsanız, bunun nedeni “elinde lehim havyası tutan çocuk” olmanız değil, uzun bir akademik süreçten geçmiş olmanızdır. Lehimleme Taş Devri gibi görünecek kadar ileri konular öğrenirsiniz.
Yazılımda hâlâ böyle bir orta düzey zanaatkâr katman var, ama yalnızca LLM’ler yüzünden değil, hızla yok oluyor.
Bir web sitesini kabaca birbirine bağlayıp çalışır hâle getiren, Excel ya da Python betikleriyle günlük işlerini halleden ama ileri kavramları bilmeyen çok kişi var.
GPT türü araçlar ortaya çıktığında uzmanların junior desteğine daha az ihtiyacı oluyor. Bir sistem mimarı iskeleti çizip küçük işleri junior’lara dağıtmak yerine, ihtiyaç duyduğunu LLM’den alabiliyor.
Sonuç olarak en üst seviyede eğitilen kişi sayısı azalacak; bu azınlık çok daha üretken olacak, ama pek çok kişi ortada sıkışıp kalacak.
Yapay zekanın iyi kod yazabildiğini ve zamanla daha da iyi hâle gelebileceğini inkâr etmiyorum; ancak geliştiricilerin çoğunu yapay zekanın ikame ettiği bir iş akışının nasıl işleyeceğini bilmiyorum
Junior bir programcının CRUD endpoint’leri yazması gibi işleri örnek alırsak, ne istediğimi tam karşılayan gereksinimleri açıklamak, Copilot gibi araçların yardımıyla doğrudan kodlamaktan daha uzun sürebilir
Teknik olmayan bir kullanıcının yapay zekayla baştan sona geliştirme yaptığını hayal edebilir miyiz? Üretilen kodda hata varsa, hiçbir aşamada insan müdahalesi gerekmeyeceğini söyleyebilir miyiz?
Hata çıktığında bir teknik kişi devreye girse bile, yapay zekanın yazdığını incelemek ve sonradan ne olduğunu anlamak zaman alıyorsa kod yazma maliyetindeki tasarruf hızla ortadan kalkar
Sonuçta kod yazmak işin küçük bir kısmı; LLM’ler kod üretmede iyi, ama özünde problem çözücü değiller
Bu teknoloji şaşırtıcı, ancak geliştiricinin araç kutusuna girecek bir araç daha olacak gibi görünüyor. Aynı zamanda harika bir öğretmen; web sayfası içeriğini kazıyan bir script gibi bağımsız sorunlarda da geliştirici çağırma ihtiyacını ortadan kaldırıyor
Ancak birçok geliştiricinin iş akışını çok daha kolaylaştırıp, daha az kişiyle yetinmeyi ya da aynı kişi sayısıyla daha fazla iş yapılmasını sağlayabilir
Bu başlığın başka bir yerinde de yazdım: https://news.ycombinator.com/item?id=38259425
Temelde, normalde çok zaman alan işler için çok güçlü ve genel amaçlı bir yardımcı ve beyin fırtınası ortağı gibi hissettirdi
Sadece kodla sınırlı değil; ham bilgileri verip tutarlı bir belgeye dönüştürtmek ya da geri bildirim almak gibi dokümantasyon işlerinde de kullandım
Yeni bir projeye onboarding sırasında, anlaşılması zor belge parçalarını verip açıklatmakta da yardımcı oluyor
Yönetimle ilgili angaryalarda da istekleri ve kendi bakış açımı girip belirli bir perspektife uygun yanıtlar oluşturtarak zihinsel enerjimi daha az harcadım
Elbette bunlar ekipteki diğer insanlarla da yapılabilir, ama her zaman yanınızda değiller ve onların da yapacak işleri var. ChatGPT gibi araçlar yorulmuyor; bu sayede içimdeki sürekli “neden?” diye soran çocuğu, tatmin olana kadar serbest bırakabiliyorum
Başkasına sorabileceğim zamanlarda bile ChatGPT, soruyu netleştirmeme yardımcı oluyor
Boilerplate ya da sıkıcı işler için, bir insanın açıkladığı algoritmayı koda dökmek için oldukça kullanışlı
Kodun dilini dönüştürmede de iyi ve doğru yönlendirildiğinde işi hallediyor
İstihdam görünümü üzerinde büyük etkisi olacak. Henüz mühendislerin yerini alamıyor, ama belirli bir teknolojinin uygulama uzmanı olarak özelleşmiş kişiler risk altında. Sadece verimlilik artışı bile talebi azaltacaktır
98 belediyede gördüğüm anekdotsal deneyime göre bu tür araçlar hiçbir zaman uzun süre çalışmadı
Buna karşılık artık dijital sezgisi olan çalışanlar ChatGPT’nin yardımıyla bir şeyler yapıyor ve otomasyon kuruyor
Uzun vadeli bakım açısından bakıldığında, önceki RPA veya iş akışı araçları gibi berbat olanları da çok; ancak bu kez insanlar bunları kendileri de sürdürebiliyor
Yine de onlar yazılım geliştiricisi olmadıkları için ölçeklenebilirlik, kaynak kullanımı, dokümantasyon, hata yönetimi gibi işler olmuyor
Buna rağmen çoğu şey ayda birkaç saat “tasarruf” ettiren düzeyde; gerçek bir geliştirici ayıracak kadar önemli olmadığı için yaklaşık %90’ı yeterli olabilir
SharePoint Online gibi araçlardaki iyileştirmelerle birleşince, daha önce kurum içi geliştirici ya da dış danışman gerektiren işler içeride halledilebiliyor
Bu, yazılım mühendisliğinin ölümü değil. Ölçeklenmiyor ve uzun vadede amatör mimarilerin birbirine geçmesi gerektiğinde muhtemelen sorunlar çıkacak
Ancak bir dictionary’den rastgele birkaç satır metin çıkarmayı Google’da aramanız gerekiyorsa, tehlikede olmadığınızı söylemek zor
GPT, “Google’layarak yazılabilecek programları” oldukça kolay ve yeterince iyi şekilde hallediyor; bu yüzden sektörde giderek daha fazla yaşanacak
Geçmiş yazdıklarıma bakarsanız LLM’lere, daha doğrusu GPT’ye hayran kaldığım kadar hayal kırıklığına da uğradığımı görebilirsiniz. Diğer modeller açıkçası pek iyi değil
Günlük işimde gerçek geliştirmeye pek yardımcı olmadı, ama dokümanların çoğunu yazıyor ve bunu korkutucu derecede iyi yapıyor
Excel veri eşleme sayfalarından tipler, sınıflar vb. oluşturma ve CRUD işlevleri üretme gibi kod üretimini de çok yapıyorum. Eskiden bunu kısa CLI script’leriyle yapardım, artık çoğunu GPT hallediyor
Ancak verimlilik gerektiren iş mantığını iyi tasarlanmış kodla ele almakta berbat ve şu ana kadar zerre kadar iyileşmedi
Avrupa’daki teknik olmayan büyük şirketlerde ve bunları destekleyen dev IT ve danışmanlık sektöründe, GPT’nin iyi yaptığı işleri yapan çok sayıda geliştirici var; araçlar iyileştikçe genel olarak çok daha az yazılım geliştiriciye ihtiyaç duyulacak
Özellikle endişe verici olan, CS öğrencilerine hâlâ GPT’nin iyi olduğu pek çok şeyi öğretiyor olmamız
Akademi düzeyinde CS öğrencileri için dış sınav görevlisiyim; GPT müfredattan neredeyse tam not alabilir. Çünkü odak, çoğunlukla kurumsal kullanım için “kolay” kodu bolca üretmekte
LLM’ler gerçekten yerleştiğinde birçok öğrencinin zor zamanlar geçirmesinden korkuyorum ve müfredat zamanında değişmeyecek. Danimarka yükseköğretimi gerçeğe uyum sağlamakta yavaş; zaten 10 yıl önce bile bir miktar eskimişti
“Programlama bilgi ya da beceriden çok sabır, hatta belki de takıntıya yakındır. Programcılar bitmek bilmeyen sıkıcı engeller dizisine katlanan insanlardır” sözü, yapay zeka destekli programlama konusunda iyimser olma nedenini iyi yakalıyor.
Programlamaya giriş eğrisi korkunç derecede dik; zor olduğu için değil, sinir bozucu olduğu için.
Gerçekten bir şeyler yaptığını ve ilerlediğini hissetmeden önce tuhaf hata mesajları ve eksik noktalı virgüller arasında 6 ay dayanmak gerekiyor.
Çoğu kişi vazgeçip “yeterince zeki olmadığını” düşünür, ama aslında o çamurdan geçecek kadar sabırlı değildir.
LLM’lerin bu ilk öğrenme eğrisi üzerinde büyük etkisi olduğunu düşünüyorum. Daha fazla insanın temel programlamayı öğrenip hayatındaki sıkıcı tekrarlı işleri bilgisayarla otomatikleştirebilmesi iyi bir şey.
Programcılar günlük hayatlarında neredeyse tüm mesleklerden daha fazla çirkin gerçeği kabul etmek zorundadır. Fizik mühendisleri, inşaat işçileri ve tamircilerin de bu erdeme ihtiyacı vardır, ama geri bildirim döngüsü daha yavaş olduğu için bu onlardan daha seyrek beklenir.
Google Translate’in herkesi İspanyolcada akıcı hale getirdiğini söylemeye benziyor.
Sonuçta ChatGPT’yi etkili kullanmak için hâlâ kodu gözden geçirmeniz ve nasıl çalıştığını anlamanız gerekiyor.
Kodu gerçekten klavyeyle yazmak, yazılım geliştirmenin zor kısmı değildi.
Bu araç geliştiricileri yalnızca 6 ay öne çekiyorsa, okullarda bilgisayar bilimi dersi vermek hesaplama kaynağına kıyasla daha iyi olur ve çok daha güçlü bir mühendis kuşağı yetiştirir.
Çok kullanıcılı karmaşık yazılım projelerinde fiilen terk edilmiş, sonu gelmeyen bug ticket backlog’ları var.
Sanırım birkaç ay önce Firefox’ta 25 yıllık bir hata düzeltilmişti.
Çoğu derleyici ve framework’te “X olduğunda hata mesajını iyileştir” gibi ticket’lar birikmiş durumda, ama programcı zamanı çok pahalı olduğu için öncelik sırasına giremiyorlar.
Zamanla senior ile junior arasındaki fark çoğu zaman zeka ya da gerçek deneyimden çok, ürünün ömrü bitmeden çözülmeyen hatalar ve kullanılabilirlik sorunları arasında ilerlerken biriken yara izleri oluyor.
Yapay zekanın programcıları tamamen ikame etmesi için birkaç büyük sıçramaya daha ihtiyaç var; ama onu bug tracker’a salıp bütün gün küçük düzeltmeler yaptırmak gayet ufukta görünüyor.
Böyle olursa insan programlaması daha eğlenceli ve öğrenmesi daha kolay hale gelecek.
Kullandıkları uygulamaların sınırlarına bağlı yaşayan sıradan insanlar ve “Python ile otomasyon” türü kitapların popülerliği aklıma geliyor.
Bu yeni teknoloji sayesinde insanlar artık bu sınırlara bağlı kalmazsa oldukça harika olur.
Kod hâlâ karmaşık ve kırılgan bir ürün.
LLM’nin kod yazması yalnızca başlangıç; çoğu insan için LLM destekli low-code/no-code daha ideal.
Yapay zeka ve sinir ağlarıyla uğraşan bir arkadaşımla bu tartışmayı yapıyorum.
Arkadaşım kodlamanın yakında demode olacağını ve ChatGPT tarzı kod üretimiyle tamamen değiştirileceğini söylüyor.
Ben ise bir “senior engineer” olarak işimin ezici çoğunluğunun iletişim, kurum içinde liderlik, ürün gereksinimlerini gerçekten anlama ve bunların sistemlerimizle nasıl etkileşeceğini kavrama olduğunu düşünüyorum.
Kod yazıyorum, ama bunun büyük kısmı kod üretimiyle desteklense bile yaptığım işin çoğu neredeyse hiç değişmeyecek.
Junior’ların işi bunlar değil; kayıtlı issue’ları alıp uygulamak. Zor problemler üstlenmezler, görev ve kabul kriterleriyle birlikte çalışırlar.
Gelecekte CodeGPT gibi bir şey onların programlama becerisini tamamen ikame ederse, 10 yıl sonra senior olmalarının yolu ne olacak?
Bugünün senior’ları 10–20 yıl sonra emekli olacak; yerlerine otomatik kod üretiminin faydasını gerçekten görmüş insanlar geldiğinde “kodlama”, makineler yapmadan önce yaşlıların yaptığı bir iş haline gelebilir.
Yapay zeka sayesinde daha küçük ama daha yetkin ekipler mümkün hale gelirse liderlere ve toplantılara daha az ihtiyaç olur, her şey çok daha verimli hale gelir.
Junior engineer’lara mentorluk etmeye harcanan zamana da veda etmek gerekebilir. Çünkü yakında junior kalmayacak.
Kurum içinde yol bulmaya, diğer ekiplerle bağlantı kurmaya ve ne yapılması gerektiğini anlamaya çalışıyorum.
Yazdığım kod, asıl yaptığım işin bir yan ürünü gibi geliyor.
Birincisi, işin içinde daha az insan olacağı için koordinasyon basitleşecek.
İkincisi, daha fazla insan koordinasyon rolüne erişebilecek ve normalde “kodlamada iyi” olmayan meslek grupları ya da kişilik tiplerinin bu rolü üstlenme ihtimali yüksek.
Makine, örneğin ortaya çıkarılan şeyin genel çalışma biçimini açıklayabiliyorsa, onların üstün kodlama yeteneğine ihtiyacı kalmaz.
Bu yüzden iş alanının ciddi biçimde sarsılacağını ve ücretlerin sert şekilde düşeceğini bekliyorum.
Bu yazı bir programcı tarafından yazılmış gibi gelmiyor; yorumların bir kısmı da profesyonel mühendislerden çıkmış gibi görünmüyor
Yakın gelecekte yapay zeka, programcı işinin gerçekçi olarak hangi kısımlarının yerini alabilir?
Tartışma için kodlama kısmının maliyet açısından verimli biçimde ikame edilebildiğini varsayalım. Peki diğer kısımları da yapabilir mi?
Belirsiz gereksinimleri alıp tasarım/ürün ekipleriyle netleştirmek, karmaşık bir özelliği geliştirecek kadar yapay zekaya yeterli talimat vermek, kod incelemesi, rastgele build hatalarını ele almak, diğer programcıların ve paydaşların anlayabileceği şekilde özellik dokümantasyonu yazmak, production sorunlarını debug edip düzeltmek gibi şeyler var
Gerçekçi olarak, yapay zekanın iyi bir programcının yerini etkili biçimde alma olasılığı doğmadan önce, programcıların yapay zekayı kullanarak daha verimli hale geldiği uzun bir aşama olacak
Daha soyut düşünebilen mühendisler avantajlı olacak ve önce düşük seviyeli programlama işleri yutulacak
Rastgele build hatalarını düzeltmek de muhtemelen hemen ardından gelecek
O zaman soru, programcı işinin yüzde kaçını alabileceği ve geriye kalan kısmın farklı bir beceri kombinasyonu gerektirip gerektirmeyeceği olacak
Kodlaması iyi olan ama iş tarafı biraz belirsiz gereksinimler verdiğinde yüksek sesle yakınan programcılar var. Çünkü kendi işlerini iş kurallarını netleştirmek değil, yalnızca kod yazmak olarak görüyorlar
Bu grup, belirsiz durumlarda bile iş gereksinimlerini anlamaya istekli çalışan programcılardan daha fazla etkilenecek
Hata yapıyor ama bu hataların insan hatalarıyla korelasyonu düşük görünüyor
Özellikle Google'ın giderek daha işe yaramaz hale geldiği bir ortamda, benim saatlerce aramam gerekecek şeyleri biliyor olabiliyor
Kişisel olarak scripting ve yürütme işlevi desteği için kullanıyorum
Mevcut araçlara bakınca hâlâ epey uzak görünüyor
Başlık yazıyla pek uyuşmuyor gibi
Başlık, programlama becerisinin yerini bir şey alacakmış gibi söylüyor; ama yazı sonuçta büyük ölçüde değişeceğini savunuyor ve benim sezgim de buna daha yakın
Sonuçta giriş bariyeri düşüyor. Bu kötü bir şey mi? Bencil açıdan evet, ama toplumsal açıdan hayır
Kanada'nın ve bir ölçüde ABD'nin karşı karşıya olduğu sorunlardan birinin eşitsizlik olduğunu düşünüyorum
Daha “ortalama” hizmet işlerinde çalışanlar mühendislerden çok daha az kazanıyor ve son birkaç yıldır bu durum oldukça rahatsız ediciydi
Üretken yapay zekanın toplumsal değeri, hukuk, sağlık, yazılım mühendisliği gibi bilgi işlerini “ortalama” insanlar için çok daha erişilebilir kılmasında
Dezavantajları da olacaktır ama gücü daha eşit dağıtmak, yanlış yönlendirilmiş elitizmden ütopyaya daha yakın bir yol olur. İkincisi bana otokrasiye giden yol gibi geliyor
En düşük ücret asgari ücret, en yüksek ücret de programcı maaşı olsaydı Amerika çok eşitlikçi bir ekonomi olurdu
ABD'de kalan orta sınıf yollarını otomatikleştirirseniz, yalnızca otomasyon altyapısına sahip sermayedarlarla, daralan otomasyonsuz alanlara itilen insanlar arasındaki uçurumu daha da büyütürsünüz
Bu da onların durumunu iyileştirmiş olmaz
Her gün kod yazmayan, saçı ağarmış biri olarak ChatGPT bir programlama asistanı olarak etkileyiciydi
Ayda 20 dolarlık, on-call bir junior developer varmış gibi
Geçen ay hızlı ve kirli bir utility'ye ihtiyacım vardı; problemi kendim 4-5 adıma böldükten sonra ChatGPT'ye her adımın fonksiyonlarını yazdırdım ve ben birleştirdim
Çoğu sorunsuzdu ama bir bölümde istediğim sonucu alana kadar gereğinden fazla yönlendirme ve düzeltme gerekti