- 1983’ten beri 42 yıldır programlama yapan bir geliştiricinin, yapay zeka çağının gelişiyle yazılım geliştirmenin özünün değişmekte olduğunu hissederken yaşadığı karmaşık duyguları anlattığı bir yazı
- 8 bit bilgisayarlardan 486’ya, makinenin her baytını anlayıp doğrudan kontrol ettiği dönemden başlayarak sayısız teknolojik dönüşümden geçti, ancak temel yetkinlikler her zaman aktarılabildi
- Yapay zeka, önceki platform, dil ve paradigma geçişlerinden farklı olarak, “iyi olmak”ın anlamını bizzat değiştiren bir dönüşüm
- Kodu doğrudan yazmak yerine gözden geçirip yönlendirme rolüne geçildikçe, bulmaca çözer gibi çalışan o yakın geri bildirim döngüsü kayboluyor
- 42 yıllık deneyim sayesinde ürünleri daha hızlı geliştiriyor olsa da, geliştirme sürecinde hissettiği hayranlık ve kimlik duygusu değişen bir geçiş döneminde
Beni şekillendiren dönem
- 1983’te, 7 yaşındayken çamaşır makinesi çipinden daha düşük işlem gücüne sahip bir makineye BASIC yazarak ilk kodunu yazdı
- RAM’deki her baytın ne işe yaradığını takip edebiliyor, ekrandaki her pikseli doğrudan yerleştirebiliyor ve niyetten sonuca giden yolun doğrudan ve görünür olduğunu hissediyordu
- 8 bitten 486DX2-66’ya kadar olan dönem en sevdiği zamandı; her makinenin kendine özgü bir karakteri vardı
- Sinclair Spectrum’daki attribute clash, Commodore 64’ün SID çipinin tasarım amacını aşan kullanımları, NES’in tarama satırı başına 8 sprite sınırından doğan flickering hileleri gibi
- PC ise elektronik tablo için kullanılan bej bir kutudan 286, 386, 486 üzerinden geçerek Doom çalıştıran bir oyun canavarına dönüştü
- Bu yalnızca bir ürün değil, görünür ödünleşimlerle dolu bir mühendislik macerasıydı; IRQ çakışmaları, DMA kanalları, CONFIG.SYS ve AUTOEXEC.BAT optimizasyonu, bellek yöneticileri gibi konularla uğraşmak başlı başına sistem mühendisliği rolüydü
- id Software gibi küçük ekipler, daha kimsenin kuralları koymadığı bir dönemde cesur teknik kararlar alıyordu
- Carmack’ın Wolfenstein için kullandığı raycasting, Doom’daki VGA Mode X hileleri gibi örnekler, gerçek kısıtları zorlayarak gerçekten yeni şeyler ortaya çıkardı
- Plug and Play’in gelişi ve Windows’un soyutlamalarıyla vahşi batı dönemi sona erdi; bilgisayarlar saygı ve anlayış talep eden büyüleyici makinelerden sıradan ev aletlerine dönüştü
Vaadin bozulması
- Başlarda bilgisayarların neye dönüşebileceğine dair gerçek bir iyimserlik vardı — Spectrum sahibi bir çocuk kendi başına her şeyi yapabilir gibiydi ve erken dönem web, insanlık tarihindeki en büyük eşitleyici araçlardan biri gibi görünüyordu
- Bu umut zamanla rahatsız edici bir yöne saptı — sevilen makineler gözetim ve çıkarım araçlarına dönüştü
- İnsanları birbirine bağlamayı vaat eden platformlar, gerçekte kullanıcıları gelire dönüştürmek için inşa edildi
- Tinkerer ruhu doğal bir ölümle yok olmadı; satın alınıp reklam tıklaması optimizasyonuna yönlendirildi
- Bu, sadece araçların değişmesinden farklı türde bir kayıp — sevdiğiniz şey değişiyor ve ardından gurur duyamayacağınız işler için kullanılıyor
Geçip geldiğim dönüşümler
- 40 yıl boyunca sayısız teknoloji geçişi yaşadı — yeni diller, yeni platformlar, yeni paradigmalar, CLI’den GUI’ye, masaüstünden web’e, web’den mobile, monolitten mikroservislere, kaset, disket, sabit disk ve SSD’ye, gelip geçici JavaScript framework’lerine kadar
- Her dalgada yeni şeyler öğrenmek gerekti ama çekirdek beceriler aktarılabildi — yeni platform öğrenilip sistemlerin nasıl çalıştığına dair mevcut anlayış uygulanarak üretmeye devam edildi
- Artık var olmayan platformlarda yazılım yayımlama deneyimi de dahil olmak üzere, sektör her yeni yöne döndüğünde deneyim bileşik şekilde birikti
- Deneyimli geliştiricilerle sektör arasında örtük bir uzlaşma vardı: “Şeyler değişir ama anlayış kalır.”
Bu kez farklı
- Önceki teknoloji geçişleri “yeni bir şey öğrenip mevcut becerileri uygulamak” yapısındaydı; oysa yapay zeka yeni bir platform, dil ya da paradigma değil, “iyi olmanın ne anlama geldiğini” bizzat değiştiren bir dönüşüm
- Bu fark yavaş yavaş hissedildi — özellik geliştirme ve mimari tasarım hâlâ aynı işler gibi görünse de, işin ilginç kısmı boşaltılmış gibi
- Zarif çözümler bulmak, kısıtlarla boğuşmak, bir şeyin yerine oturduğu anda hissedilen tatmin gibi unsurlar giderek zarafetle ilgilenmeyen ve tatmin hissetmeyen bir model tarafından üstleniliyor
- Daha ucuz ve daha hızlı, ama içi boş
- Artık kodu bizzat yazmak yerine gözden geçirme, yönlendirme ve düzeltme rolüne kayılıyor — 42 yılda biriken, neyin işe yarayıp neyin yaramadığına dair muhakemenin hâlâ değerli olduğu açık, ama bu farklı bir iş ve aynı hissettirmiyor
- Geri bildirim döngüsü değişiyor ve yakınlık kayboluyor — onlarca yıl boyunca geceleri ayakta tutan o bulmacalar, iz sürmeler ve sonunda neden çalışmadığını anlama anı şimdi prompt ve cevaplara sıkışıyor
- Deneyiminin çok küçük bir kısmına sahip insanların yüzeyde benzer görünen çıktılar ürettiğine tanık oluyor — zanaatkârlık farkı gerçek olsa da dışarıdan görmek zor, değer biçmek zor, içeriden hissetmek de zorlaşıyor
Soyutlama kulesi
- LinkedIn’de, 20’li yaşlarının başında ve birkaç yıllık deneyime sahip bir geliştiricinin yapay zeka yüzünden “neler olduğunu anlamıyorum” diye yakındığını gördü
- Ama aslında o geliştiriciler zaten soyutlama zincirinin en tepesinde, sallanan bir Jenga kulesinin üstünde duruyordu
- TypeScript → JavaScript derlemesi → C++ ile yazılmış V8 motoru → işletim sistemi çekirdeği sistem çağrıları → hiç düşünülmemiş çekirdeklerdeki thread zamanlaması → önbellek katmanlı bellek denetleyicisi → tek satırını bile okumadıkları 400 npm paketi
- Soyutlama gemisi aslında onlarca yıl önce kalkmıştı; sadece her katman yavaş yavaş geldiği için insanların tüm yığını anlıyormuş gibi davranması mümkün olmuştu
- Yapay zeka, bu rol yapmayı artık sürdürülemez kılan katman oldu
- Bütün makineyi anlama hissini hatırlıyor olmak ve bunu kaybetmenin yarattığı hüzün, bunu hiç yaşamamış biri tarafından tam olarak hissedilemez
Geriye kalanlar
- Deneyimin her zamankinden daha değerli olması, sistem düşüncesi ve mimari muhakemenin yapay zekanın kolayca yerini alamayacağı şeyler olması ve zanaatkârlığın başka biçimlerde yaşamaya devam etmesi gerçek
- Özellikle karmaşık işlerde — sistem düzeyinde bağımlılık yönetimi, birden fazla etkileşimli spesifikasyon arasında zihinsel model kurma, bir şeyin tutarlı hissettirmesini sağlayan binlerce küçük karar — hâlâ yapay zekanın sahip olmadığı şeyleri getiriyor: zevk, muhakeme ve onlarca yıllık örüntü tanıma
- Kod üretimi ucuzladığında darboğaz, ne isteneceğini bilen, çıktının ince biçimde yanlış olduğunu fark edebilen ve büyük resmi koruyabilen kişilere kayıyor — zor olan hiçbir zaman yazmak değildi
- Ama bunun aynı hissettirdiğini söylemek yalan olur — hayranlık duygusuna erişmek zorlaşıyor, yalnızca sebat ve özgünlükle bir şeyi çözüp bulmanın keşif hissi sıkışıp kısalıyor. Bu sıkıştırmada bir şey kazanılıyor, ama bir şey de kaybediliyor
Nadas dönemi
- Kısa süre önce 50 yaşına girdi ve 4 yıllık yoğun üretim ve kimlik inşasından sonra, artık “nadas dönemi (fallow period)” dediği bir evreye geçti
- Bu, tükenmişlik değil — kalıcı sandığı yapının altındaki zeminin kaydığı ve yeni bir temel arama süreci
- Ortada temiz, net bir sonuç yok — “yığında yukarı çık”, “araçları benimse”, “yapay zekanın yapamadığı şeylere odaklan” gibi tavsiyeler muhtemelen doğru, ama hissin kendisini çözmüyor
- 42 yılını verdiği şeyin artık tanıyamayabileceği bir şeye dönüşmüş olması hissi — mutlaka daha kötü değil ama farklı; etrafında kurduğu kimliği zorluyor ve eskisi gibi tatmin vermiyor
- 40 yaş üstü birçok geliştiricinin benzer şeyler hissedip bunu yüksek sesle söylemediğini tahmin ediyor — çünkü sektör gençliğe ve uyum kabiliyetine tapıyor ve “artık eskisi gibi değil” demek geri kalmış gibi duyuluyor
- Oysa mesele geri kalmak değil — yeni araçları kullanarak her zamankinden daha hızlı inşa ediyor ve birkaç yıl önce ancak hayal edebileceği ürünler yapıyor; ama aynı anda “inşa etmek” artık ne demek, onu anlamaya çalışıyor
- 7 yaşında programlamaya, makinelerin kendisine söyleneni tam olarak yapması, keşfedilebilir ve sonunda anlaşılabilir görünmesi nedeniyle başlamıştı; bu ona büyü gibi geliyordu, şimdi 50 yaşında büyü farklı ve onunla birlikte yaşamayı öğreniyor
11 yorum
Bunun nedeni, temeli meşru olmayan bir teknolojinin ortaya çıkmış olması. LLM'lerin "öğrendiği" veriler bu amaçla kullanılmak üzere izin alınmış veriler değildi (kendileri izin aldıklarını iddia etseler de); bu yüzden de hangi verileri "öğrendiklerini" düzgün biçimde listeleyemiyorlar. Sonuç olarak yapısını anlamak da mümkün olmuyor. En başından beri insan zihnine saygı duymadan yola çıkan, izinsiz sahte kopyaları kitlesel olarak üreten ve çevreyi tahrip eden bir teknoloji.
Ben de Basic ile başlayıp bir bakmışım 40 yılı geçmiş.
Abaküs öğrendiğimiz zamanlar da olmuştu, şimdi ise AI agent'ları çalıştırıyoruz; dünya gerçekten çok hızlı değişiyor.
Ama yazarınkine benzer bir his bende yok; sadece bugünlerde olup bitenler bana eğlenceli geliyor.
Hacker News görüşleri
Zaman geçtikçe işletim sistemlerinin artan karmaşıklığı ve yazılımın toplumsal öneminin büyümesiyle geliştirme ortamının giderek kötüleştiğini hissettim
1984'teki Mac zaten zengin grafik kütüphanelerine sahipti ve soyutlama kaçınılmaz bir akımdı. Ben hatta iyi tasarlanmış framework'lerden keyif alıyordum
Ama yazılım hayatı yönetmeye başlayınca “mühendislerin yön verdiği dönem” sona erdi ve Agile, birim testleri, kod incelemeleri gibi yönetim merkezli kültür kod yazmanın keyfini elimden aldı
Şimdi emeklilikten sonra yeniden özgürce kod yazıyor, eski günlerdeki “kovboy programcı” hissinin tadını çıkarıyorum
AI'ın ürettiği kodun kalitesi sonuçta o aracı kullanan geliştiricinin seviyesine orantılıdır. İyi geliştiriciler hâlâ iyi sonuçlar çıkarır
AI kullansanız bile önemli kısımları bizzat elden geçirip beyninizi kullanmaya zaman ayırabilirsiniz. Asıl zorluğun teknoloji değil, zaman yönetimi olduğunu düşünüyorum
Eskiden gece boyunca assembly render kütüphanesi yazarken büyü yapıyormuş gibi hissederdim. Docker container'larında böyle bir büyü olmadığını düşünüyordum ama son zamanlarda yine sabah 2'de monitör ışığı altında büyü yapıyormuş gibi hissediyorum
Ben de 50 yaşındayım ve AI kodlama asistanları sayesinde eskiden zaman bulamadığım kişisel projeleri hayata geçirebilecek olmak beni heyecanlandırıyor
Chatbot'la birlikte geliştirme yapmak form dolduruyormuş gibi hissettiriyor. Yine de dünya değişiyor, bunu kabul etmek gerekiyor
Çoğu insan zanaatkârlıktan çok verimlilik istiyor ve gerçek ustaların ne kadar az olduğunu fark ediyoruz. Sonunda kültürden bir parçayı daha kaybedebiliriz
Ama LLM'in yazdığı kodu debug etmek başkasının kodunu düzeltmek gibi geliyor; bu yüzden tatmin vermiyor. Daha hızlı bitiyor ama artık benim değilmiş gibi
Bugünün çocukları da hâlâ büyü hissini yaşıyor. 50 yıl sonra “GPT-6.2 RAG tuning yaptığımız günleri özlüyorum” diyenler çıkacak
Ben birinci gruptayım. AI sayesinde zaman yetersizliğinden yapamadığım şeyleri artık üretebiliyorum. Temel özelliklere odaklanabiliyorum
Geleceğin teknolojilerine dair beklentim kalmadı; bu yüzden başka alanlara yöneldim
Büyük şirketteyken hiç eğlenceli değildi ama şimdi her gün IDE'nin başına oturmak bana keyif veriyor
Eğer programlama artık eğlenceli gelmiyorsa danışmanlığa geçmeyi tavsiye ederim. Bağımsızlık ve kontrol duygusu keyfi geri getiriyor
Lise 1’den beri bilgisayar mühendisliğine gitmeyi düşünerek okul kayıt dosyamı da bilgisayar mühendisliğiyle ilgili etkinliklerle doldurdum, fırsat buldukça biraz kendi kendime de çalıştım ve şimdi üniversite sınavına hazırlanan son sınıf adayı oldum; ama bu aralar gerçekten kafam çok karışık. Sanırım GPT-3 ya da neredeyse ilk sürümlerini kullandığım zamanlarda, yapay zekanın bu kadar doğal konuşmasına şaşırıyor, Midjourney Discord’una girip görseller üretmeyi deniyordum ama o zamanlar his daha çok "ilginç bir oyuncak" gibiydi; bunun bu kadar hızlı büyüyeceğini hiç hayal etmemiştim. Bixby gibi yapay zekaları daha uzun zamandır gördüğüm için beklentim de düşüktü. Ama derken yapay zeka bir anda hızla büyüdü, büyük teknoloji şirketleri yapay zekaya yatırım yapmaya başladı ve bilgisayar mühendisliğinin geleceğinin karanlık olduğuna dair türlü laflar dolaşır oldu. Elbette üretken yapay zeka sonuçta matematiksel olarak olasılığı yüksek kelimeleri sıralayan karmaşık bir program, ama insanın ortaya koyduğu işleri fazla iyi taklit ediyor ve büyüme hızı da çok yüksek; bu yüzden üniversiteden mezun olduktan sonra, hatta belki yüksek lisansı da bitirdikten sonra iş imkânı yeterince olur mu diye endişeleniyorum... Bir yandan inancın yarısı, alışkanlığın yarısıyla başta hedeflediğim Seul Ulusal Üniversitesi bilgisayar mühendisliğine girmek için ders çalışıyor, okul kayıt dosyamı da buna göre hazırlıyorum ama bu kaygıyı üstümden atmak zor oluyor. Bir de bazen kitaplardan ziyade yapay zekaya sorarak geliştirme öğrenmek ezici biçimde daha hızlı olabiliyor, o yüzden içimde ikili bir duygu var... Evet, durum böyle.
Şimdi tam tersine daha iyi değil mi? Herkesten daha hızlı hareket ederseniz kısa sürede uzman olabileceğinizi düşünüyorum. Yapay zeka alanında da hâlâ yapılacak çok iş var.. Sonuçta daha ancak kod yazmayı iyi yapabiliyoruz denecek seviyedeyiz.
Yaşlarımız farklı olsa da ben de benzer düşünüyorum, haha
Güzel sanatlar ve beden eğitimi gibi alanlarda iş bulmanın zor olduğunu bilseniz bile, insanlar yine de kendi sevdikleri bölümü seçiyor. İş bulmanın mı önemli olduğuna, yoksa iş bulmak zor olsa da sevdiğiniz işi yapmanın yeterli olup olmadığına göre karar verin. Yapay zekayı kullanarak yazılım geliştirmek ve yapay zeka araştırması yapmak hâlâ harika işler.
Ben de BASIC ile başladım ve ilkokuldayken çeşitli yarışmalarda ortalığı kasıp kavuruyordum. Ağırlıklı olarak oyun yapıyordum; ilkokulda birinci şahıs nişancı oyunu yapmış olmamı kariyerimin en yüksek noktası olarak görüyorum. Sonrasında COBOL, Fortran, C/C++ ile başlayıp Windows uygulamaları/oyunları yaptım; oyun sunucuları, feature phone/set-top box gömülü uygulama geliştirmeden iOS ve Android'e kadar uzandım; ardından Node ve Python tabanlı web uygulamalarını full-stack olarak geliştirdim ve Node tabanlı açık kaynak faaliyetlerinde aktif oldum. Sistemlerin, framework'lerin, OS'lerin çoğunu en alt seviyeden anlayıp geliştirerek deneyimledim. 40'lı yaşlarıma geldiğimde yeni bir framework ya da OS çıksa da hepsi aşağı yukarı aynı geliyordu. Ama yapay zeka tabanlı geliştirme temelden farklı bir iş. Şimdiye kadar yaptığımız işlerin uzantısı gibi görünüyor ama değil. Muhasebe/ofis işleri aynı olabilir ama abaküsten spreadsheet'e geçiş bir uzantı değildir. Mesele, sadece abaküs tıkırdatmaya devam mı edeceksin yoksa başka bir alana mı geçeceksin, bu. Bu iyi mi/kötü mü/değişti mi meselesi değil.
Harikasınız
Ben de 50’yi geçtim ve 2000’lerin başından beri aktif olarak bu işin içindeyim; ama yapay zeka gelince bence tam tersine daha iyi oldu. Eskiden kernel kaynak kodunu analiz etmek için stres olup durmadan arayıp didinirdim; şimdi bunu yapay zekaya yaptırıyor, ben de onun üzerinden gerçekten doğru olup olmadığını tekrar doğruluyorum, böylece daha az stres yaşıyor ve daha fazla içeriği daha derinlemesine anlayabiliyorum. Ayrıca temelim firmware tarafı olmasına rağmen artık Android uygulamalarına kadar her şeyi geliştirebilir hale geldim ve tek kişilik bir iş kurmanın da mümkün olduğunu fark ettim.
Ben de 83'te BASIC ile başlamıştım,
NEC'in scanline başına 8 sprite sınırını MSX'te de aynı şekilde yaşamıştım (MSX1'de 4 tane), aynı dönemi ve deneyimleri paylaşan bir yazıyı okumak beni çok mutlu etti.
Şu anki kafa karışıklığını da iyi anlıyorum.