Yazılım geliştiricilerin suni zeka karşısında “işlerini kaybetmeleri”, yerini ChatGPT’nin daha akıllı bir sürümü, GitHub’ın Copilot’u, Google’ın Codey’si yada benzer bir şey almasıyla ilgili oldukça fazla kaygı var. Matt Welsh programlamanın sonu hakkında bu şekilde konuşuyor ve yazıyor. Büyük dil modellerinin bildiğimiz programlamayı ortadan kaldırıp kaldırmadığını soruyor ve cevabın “evet” olmasından coşku duyuyor: yakın gelecekte olmasa da eninde sonunda. Sadece bu pratikte ne anlama geliyor? Bu, hayatlarını yazılım yazarak kazanan insanoğlu için ne anlama geliyor?
Bazı firmalar, suni zekaya kesinlikle insan kabiliyetlerini çoğaltmak yerine insan emeğinin yerini alacak bir vasıta olarak kıymet verecektir. Bu firmalar için çalışan programcılar işlerini suni zekaya kaptırma riskiyle karşı karşıya. Bu kuruluşlardan biri için çalışıyorsanız, sizin için üzgünüm fakat bu hakikaten bir fırsat. Kamuoyuna duyurulan işten çıkarmalara karşın, programcılar için iş piyasası mükemmel, muhtemelen mükemmel duracak ve muhtemelen sizi asgariye indirilecek bir harcama olarak görmeyen bir işveren bulmanız daha iyi. Bazı yeni beceriler öğrenmenin ve size hakikaten kıymet veren bir işveren bulmanın zamanı geldi.
Daha süratli öğrenin. Daha derin kaz. Daha uzağa bakın.
Sadece “suni zeka ile değiştirilen” programcıların sayısı azca olacaktır. İşte AI kullanımının disiplini bir tüm olarak niçin ve iyi mi değiştireceği. Programcıların aslına bakarsak kod yazmak için harcadıkları vakit miktarı hakkında oldukça bilimsel olmayan bir emek verme yaptım. Tamam, arama çubuğuna “Bir yazılım geliştiricinin zamanının ne kadarı kodlama için harcanır” yazdım ve %10 ile %40 içinde değişen oranlar veren en iyi birkaç makaleye baktım. Seneler süresince pek oldukça insanla konuşup gözlemlediğim kadarıyla kendi hislerim bu aralığın alt sınırına düşüyor: %15 ila %20.
ChatGPT, programcıların kod yazmak için harcadıkları dönemin %20’sini tamamen ortadan kaldırmaz. Hala data istemleri yazmanız gerekiyor ve ChatGPT’nin iyi bir iş çıkarmasını istiyorsanız, istemlerin oldukça detaylı olması icap ettiğini tamamımız öğrenme sürecindeyiz. Bu ne kadar vakit ve çaba kazandırır? %80’e varan tahminler gördüm fakat onlara inanmıyorum; Bence %25 ila %50 daha mantıklı. Zamanınızın %20’si kodlamaya harcanıyorsa ve suni zeka tabanlı kod üretimi sizi %50 daha verimli yapıyorsa, hakikaten zamanınızın yalnızca ortalama %10’unu geri alıyorsunuz anlamına gelir. Bunu daha çok kod üretmek için kullanabilirsiniz; hemen hemen gereğinden azca çalışan yada olanaksız bir teslim evveliyatına karşı olmayan bir programcı görmedim. Ya da “işin geri kalanına”, doğrusu kod yazmaya harcanmayan zamanınızın %80’ine daha çok vakit ayırabilirsiniz. Bu dönemin bir kısmı anlam ifade etmeyen toplantılarda harcanır, sadece “işin geri kalanının” bir çok, kullanıcının gereksinimlerini idrak etmek, tasarlamak, kontrol etmek, hata ayıklamak, kodu gözden geçirmek, kullanıcının hakikaten neye ihtiyacı bulunduğunu (size ilk seferde söylemediklerini) bulmak, tasarımı iyileştirmek, etkili bir kullanıcı arayüzü oluşturmak, güvenlik denetimi yapmak vb. Uzun bir sıralama.
Bu “işin geri kalanı” (bilhassa “kullanıcının gereksinimleri” kısmı), sektörümüzün hiçbir vakit bilhassa iyi olmadığı bir mevzudur. Yazılımın kendisinin, kullanıcı arayüzlerinin ve veri temsilinin tasarımı kesinlikle ortadan kalkmıyor ve mevcut suni zeka neslinin oldukça iyi olduğu bir şey değil. Uzun bir yol kat ettik, sadece en iyi şekilde “kaynayan bit yığını” olarak tanımlanan kodu kurtarmak zorunda kalmayan kimseyi tanımıyorum. Kontrol etme ve hata ayıklama—ChatGPT ile oldukça oynadıysanız, kontrol etme ve hata ayıklamanın ortadan kalkmayacağını bilirsiniz. AI’lar yanlış kod üretir ve bu yakında sona ermeyecek. Güvenlik denetimi yalnız daha mühim hale gelecek, daha azca değil; bir programcının kendi yazmadığı kodun güvenlik üstündeki etkilerini anlaması oldukça zor olsa gerek. Bu tür şeylere daha çok vakit harcamak ve kod satırlarını aktarma ayrıntılarını bir suni zekaya bırakmak, sunduğumuz ürünlerin standardını kesinlikle artıracaktır.
Şimdi, hakikaten uzun vadeli bir görüşe bakalım. Matt Welsh’in haklı bulunduğunu ve bildiğimiz şekliyle programlamanın yarın değil, önümüzdeki 20 yıl içinde ortadan kalkacağını varsayalım. Hakkaten kayboluyor mu? Birkaç hafta ilkin, Tim O’Reilly’ye Ethan ve Lilach Mollick’in sınıfta suni zekayı kullanma talimatlarıyla ilgili bazı deneylerimi gösterdim. Tepkisi, “Bu istem hakikaten programlama” oldu. O haklı. Detaylı bir komut istemi yazmak hakikaten de programlamanın değişik bir biçimidir. Hâlâ bir bilgisayara ne yapmasını istediğinizi adım adım söylüyorsunuz. Ve fark ettim ki, programlamanın 1970’lerden bu yana mühim seviyede değişmediğinden yakınma ederek 20 yıl geçirdikten sonrasında, ChatGPT birden bir sonraki adımı attı. İşlevsel, nesne yönelimli yada hiper boyutlu, yeni bir paradigmaya doğru bir adım değildir. Programlama dillerinde bir sonraki adımın görsel olmasını bekliyordum fakat o da değil. Resmi olarak tanımlanmış bir sözdizimi yada semantik gerektirmeyen yeni bir programlama türüne doğru bir adımdır. Sanal delikli kartlar olmadan programlama. Zamanınızın yarısını, unuttuğunuz kitaplık işlevlerinin adlarını ve parametrelerini aramakla harcamanızı gerektirmeyen programlama.
Tüm ihtimaller içinde dünyaların en iyisinde bu, hakikaten kod yazmak için harcanan zamanı sıfıra indirebilir yada sıfıra yaklaştırabilir. Sadece bu en iyi durum, bir programcının zamanından yalnızca %20 tutum sağlar. Ek olarak, programlamayı hakikaten ortadan kaldırmaz. Muhtemelen programcıları daha verimli hale getirir ve kesinlikle programcılara kullanıcılarla konuşmaları, karşılaştıkları sorunları anlamaları ve bu sorunları çözmek için iyi, güvenli sistemler tasarlamaları için daha çok vakit verir. Kod satırlarını saymak, sorunları derinlemesine anlamaktan ve bu tarz şeyleri iyi mi çözeceğinizi bulmaktan daha azca önemlidir, sadece bu yeni bir şey değil. Yirmi yıl ilkin, Çevik Manifesto bu yöne işaret ederek şu değerlere sahipti:
Süreçler ve araçlar üstünden bireyler ve etkileşimler
Kapsamlı dokümantasyon üstünde çalışan yazılım
Sözleşme müzakeresi yerine satın alan ortaklaşa iş
Bir planı kovuşturmak yerine değişikliğe cevap vermek
23 senelik “çevik uygulamalara” karşın, satın alan ortaklaşa iş daima yetersiz kalmıştır. Agile, müşteriler ve kullanıcılarla etkileşime girmeden hızla bir takım ritüele dönüşür. Programcıları sözdiziminden kurtarmak, müşterilerle ortaklaşa iş yapmak ve değişime cevap vermek için hakikaten daha çok vakit kazandıracak mı? Bu geleceğe hazırlanmak için programcıların müşterilerle direkt emek verme ve onların gereksinimlerini karşılayan yazılım tasarlama hakkında daha çok şey öğrenmesi gerekecek. Bu bir fırsat, yıkım değil. Programcılar, insanlarla konuşmasına izin verilmemiş ve verilmemesi ihtiyaç duyulan boyun sakallılar damgası altında oldukça uzun süre çalıştılar. Bu klişeyi reddetmenin ve insanoğlu önemliymiş şeklinde yazılım geliştirmenin zamanı geldi.
AI korkulacak bir şey değil. OpenAI’nin yeni Code Interpreter eklentisi hakkında yazan (şimdi kademeli olarak kullanıma sunulan) Ethan Mollick, “Zamanım azalmaz, aksine daha kıymetli hale gelir, bundan dolayı ezber yerine mühim olana konsantre olabilirim.” AI, öğrenilmesi, kontrol edilmesi ve programlama uygulamalarına dahil edilmesi ihtiyaç duyulan bir şeydir, böylece programcılar hakikaten mühim olan şeye daha çok vakit ayırabilir: sorunları idrak etmek ve çözmek. Bu devrimin bitiş noktası işsizlik sınırı olmayacak; daha iyi bir yazılım olacaktır. Korkulacak tek şey, bu geçişi gerçekleştirememektir.
Programlama ortadan kalkmayacak. Değişecek ve bu değişimler daha iyi olacak.
Source: www.oreilly.com