Google’ın Geliştirici Araçları Yöneticisi AI Kodlamanın Geleceğini Şekillendiriyor

Google’ın geliştirici araçları proje yöneticisi Ryan Salva, yapay zeka araçlarının kodlama üzerindeki etkilerini yakından izliyor. Daha önce Github ve Microsoft‘ta görev alan Salva, şimdi Gemini CLI ve Gemini Code Assist gibi araçların sorumlusudur ve geliştiricileri ajans programlaması dünyasına yönlendirmektedir.
Ekibi, Salva ile gerçekleştirdiğim röportajda, geliştiricilerin yapay zeka araçlarını nasıl kullandığını ve ilerlemeye ne kadar ihtiyaç duyduklarını gösteren yeni bir araştırma yayımladı.
Bu röportaj, uzunluk ve açıklık açısından düzenlenmiştir.
Her yıl Google, geliştirici trendleri üzerine bir anket yapar; ancak bu yılki rapor, yapay zeka araçlarına ve özellikle ajans geliştiricilerin programlamaya yaklaşımındaki değişime odaklanıyor. Araştırmada sizi şaşırtan bir şey oldu mu?
Araştırmanın ilginç bulgularından biri, geliştiricilerin yapay zeka araçlarını kullanmaya başladıkları ortalama tarihti. Araştırma, bu tarihin Nisan 2024 olduğunu ortaya koydu. Bu tarih, Claude 3 ve Gemini 2.5‘in piyasaya sürülmesiyle çakışıyor. Bu, düşünme modellerinin doğuşu olarak kabul ediliyor ve bu dönemde araç çağırma becerilerimiz de önemli ölçüde gelişti.
Kodlama görevleri için, dış bilgileri kullanabilme yeteneği gerekir; böylece sorunları çözebilirsiniz. Kodun derlenmesi ve testlerin çalıştırılması gibi süreçler önem kazanır. Araç çağırma, modellerin ilerlerken kendini düzeltme yeteneği kazandıran kritik bir unsurdur.
Kişisel olarak yapay zeka kodlama araçlarını nasıl kullanıyorsunuz?
Son zamanlarda çoğu kodlamam hobi projeleri için. Komut satırı tabanlı araçlar kullanıyorum; bunlara Gemini CLI de dahil. Ayrıca Claude Code ve Codex de kullanıyorum. Terminal tabanlı bir aracı tek başına kullanmak pek mümkün değil, bu yüzden IDE olarak Zed, VS Code, Cursor ve Windsurf gibi çeşitli araçlar kullanıyorum. Endüstrinin nasıl evrildiğini görmek için bu araçlarla deney yapıyorum.
Profesyonel tarafta, ürün yöneticileri belgelerde yoğunlukla çalışır. İlk olarak, yapay zekadan faydalanarak spesifikasyon ve gereksinim belgeleri yazıyorum.
Bu durum nasıl işliyor? Gemini CLI ile Gemini CLI’yi oluşturuyorsunuz, ama bunun kendi kendine çalıştığını düşünmüyorum.
Geliştirme görevi genellikle bir sorunla başlar; bu, bir GitHub sorununu içerebilir. Gerçekten dürüst olmak gerekirse, çoğu zaman sorun yeterince tanımlanmamıştır. Bu nedenle, daha sağlam bir gereksinim belgesi oluşturmak için Gemini CLI kullanırım. Bu genellikle yaklaşık 100 satır teknik, ama sonuç odaklı bir spesifikasyon oluşturur. Ardından bu spesifikasyona ve ekibin belgelerine göre kod yazmak için yine Gemini CLI kullanırım.
Mühendislik ekibimizde, modelin tükettiği çeşitli katmanlarda kurallar ve Markdown belgeleri bulunuyor. Bu belgeler, çalışma yöntemimizi belirliyor: Test yapma şeklimiz, bağımlılık yönetimi gibi. Kod üretildiğinde, bu belgelerden de faydalanıyor.
Gemini CLI sorun gidermeye devam ederken, gereksinim belgemde güncellemeler yapıyor; “Bu adımı düzelttim. Şimdi bir sonraki adıma geçiyorum,” gibi notlar ekliyor. Bunların her biri, depoda kendi taahhüdünü ve çekme isteğini yaratıyor, böylece her zaman geri alabilir veya iptal edebilirim.
Yüzde 70-80 oranında işim, terminalde doğal dil kullanarak Gemini CLI ile gereksinimleri oluşturmak ve ardından çoğu kodu yazması için Gemini CLI‘ye bırakmak. Daha sonra bu kodu kullandığım IDE’de gözden geçiriyorum; çoğunlukla kodu yazmak için değil, okumak için IDE kullanıyorum.
Ham bilgisayar kodunun geleceği hakkında ne düşünüyorsunuz? Yoksa her şeyi terminal pencerelerine mi taşıyacağız?
Son otuz yıldır, IDE, yazılım geliştirmede her şeyin yapıldığı yerdi. IDE, tarayıcı ve terminal penceresi vardı. Bu durum hala büyük ölçüde geçerli, ancak zamanla gereksinimlerle çalışmaya daha fazla zaman harcayacağımızı düşünüyorum. IDE’de geçirilen zamanın ise yavaş yavaş azalacağını tahmin ediyorum. Bu değişimin oldukça uzun bir zaman diliminde gerçekleşebileceğini düşünüyorum.
Bunun yazılım geliştirme süreci için ne anlama geldiği konusunda endişeler var. On yıl sonra kodu artık görmüyorsak, bu geliştiriciler için ne anlama geliyor? Onlar için hala bir iş olacak mı?
Geliştirici olarak işiniz, daha çok bir mimar gibi görünecek. Büyük, karmaşık problemleri alıp daha küçük, çözülmesi kolay görevler haline getirmeniz gerekecek. Üretmek istediğiniz şeyle ilgili büyük resmi düşünmeniz gerekecek; ara dil üzerinden makine koduna ifade etme gerekliliği azalacak.






