Son birkaç yılda yazılım dünyasında çok yoğun şekilde konuşulan, sürekli gündemde tutulan ve ciddi bir hype ile sunulan bir dönüşüm yaşanıyor.

Her yerde aynı sorular:

  • Yazılım geliştiricilik meslek olarak geçerliliğini yitirecek mi?
  • Artık kod yazmaya gerek var mı?
  • AI her şeyi yapabilecek mı?

Cover

Bu soruların çoğu ya fazla yüzeysel ya da yanlış çerçevelenmiş.

Bu dönüşümü anlamak için daha net bir ayrım yapmak gerekiyor:

  • AI-augmented software engineering”” bugünü anlatır
  • AI-native development” geleceği anlatır

Bu iki kavramı ayırmadan yapılan tüm tartışmalar kaçınılmaz olarak yanlış sonuçlara gider.

Bugün: AI-augmented software engineering

Bugün yaşadığımız şey, yazılım geliştirmeyi AI ile güçlendirmek. Geliştirici hala sistemin merkezinde. Ama artık tek başına değil.

AI şu alanlarda ciddi verimlilik artışı sağlıyor:

  • Boilerplate code üretimi
  • Refactoring
  • Unit test generation
  • Documentation
  • Debugging desteği

Ama kritik nokta şu:

AI neyi yapacağını kendisi belirlemiyor.

  • Problemi tanımlayan insan
  • Scope’u belirleyen insan
  • Trade-off’ları yapan insan
  • Riski üstlenen insan

Yani sorumluluk hala insanda.

Bu modelde geliştirici rolü küçülmüyor. Aksine daha kritik hale geliyor. Çünkü artık değer, kod yazmaktan çok doğru yönlendirmede.

Yarın: AI-native development

Daha ileri bir aşamada ise yaklaşım kökten değişir.

AI artık bir araç değil, sistemin doğal bir parçası olur.

Bu dünyada:

  • Sistemler baştan AI düşünülerek tasarlanır
  • Kod, primary artefact olmaktan çıkar
  • Intent -> implementation pipeline otomatikleşir
  • İnsan daha çok “ne” sorusuna odaklanır

Ama burada önemli bir gerçek var:

Bu dünya henüz burada değil.

Ve geldiğinde bile tamamen insanı dışlayan bir yapı olmayacak.

AI kritik sistemlere dokunabilir mi?

Bence, sıklıkla ve en yanlış anlaşılan konulardan biri bu. “AI kod yazabiliyor ve bu kod her yerde kullanılabilir” gibi bir çıkarım ,bana sorarsanız, tamamen geçersiz.

Gerçekte durum çok farklı.

Core banking, uçuş kontrol, savunma sistemleri, tıbbi/medikal sistemler, robotik sistemler gibi alanlarda:

  • Determinism zorunludur
  • Auditability zorunludur
  • Explainability zorunludur
  • Certification süreçleri vardır
  • Failure cost kabul edilemez düzeydedir

Bu sistemlerde:

  • “Çalışıyor” yeterli değildir
  • “Neden çalışıyor” sorusunun cevabı gerekir

AI bu alanlarda yardımcı olabilir:

  • Test üretir
  • Senaryo üretir
  • Kod önerir

Ama ana karar verici olması gerçekçi değil.

Bu yüzden burada model:

Expert in the loop

Yani domain bilgisine sahip bir insan olmadan sistemin güvenilir olması mümkün değil.

Seni yanındaki geliştiriciden ayıran şey ne olacak?

Eskiden fark yaratan şeyler:

  • Syntax bilgisi
  • Framework hakimiyeti
  • Hızlı kod yazmak

Bugün, bu yetkinliklerin çoğu artık genel geçer yetkinlikler olarak karşımıza çıkıyor. AI ile herkes ortalama seviyede çıktı üretebilir. Bu durumda fark yaratan şeyler değişiyor:

1. Problem framing

Doğru problemi çözmeyen iyi bir implementasyon değersizdir.

2. Abstraction

Neyi soyutlayacağını bilmek, nasıl yazdığından daha önemlidir.

3. Trade-off analizi

Performans mı, maliyet mi, esneklik mi? Bu kararları AI vermez.

4. Sistem düşüncesi

AI fonksiyon yazar. Sistem kurmaz.

5. Domain bilgisi

Gerçek dünyayı anlamadan doğru yazılım yazılamaz.

Artık fark: Kodda değil. Karar mekanizmasında.

Herkes aynı stack’e mi gidecek?

Kodlama görevleri için kullanılan LLM modelleri (Claude Opus, Codex,Kimi, MiniMax vb) eğitim verisinin yoğun olduğu ve açık kaynakta en çok temsil edilen ekosistemlerde daha güçlü performans gösteriyor. Bu özellikle şu stack’lerde net şekilde görülüyor:

  • React
  • Node.js
  • Tailwind
  • Python
  • JavaScript, TypeScript
  • Go

Bu da şu sonucu doğuruyor:

AI bu stack’lerde daha iyi performans gösteriyor. Kısa vadede bu bir standardization pressure yaratabilir. Ama bu kalıcı bir durum değil.

Uzun vadede:

  • Internal model training
  • Domain-specific fine-tuning
  • Private codebase alignment

ile bu fark ortadan kalkacak.

Yani mesele: Hangi dili kullandığın değil.

AI’yı kendi dünyana ne kadar adapte ettiğin.

Hangi yetkinlikler kritik hale gelecek?

Yeni dönemde geliştirici tanımı değişiyor.

1. Code review

AI üretir. Ama doğruluğunu garanti etmez.

Review yeteneği en kritik skill’lerden biri olacak.

2. Product mindset

Feature yazmak değil, değer üretmek önemli.

3. System design

Distributed system, data flow, scaling. Bunlar hala insan işi.

4. Net ifade (intent clarity)

Prompt yazmak değil. Ne istediğini doğru ifade etmek önemli.

5. Domain expertise

AI genelci. Sen spesifik olmalısın.

Mükemmel ve maintainable kod hala önemli mi?

Bu soruya verilen cevap değişiyor.

Eğer:

  • Kod AI tarafından yazılıyor
  • Kod AI tarafından maintain ediliyorsa

İnsan için okunabilirlik ne kadar önemli?

Cevap: Hala önemli. Ama sebep değişti.

Eskiden:

  • İnsan için yazıyorduk

Bugün:

  • AI’nın doğru anlaması için yazıyoruz

Yani: Maintainability = Human readability + Machine interpretability

Kötü yazılmış kodu AI bile doğru yorumlayamaz.

Expert in the loop

Bu yeni dünyanın en kritik yapı taşı.

AI:

  • hızlı
  • geniş bilgiye sahip
  • ama bağlamı eksik anlayabilir

Expert:

  • daha yavaş
  • ama doğru karar verir
  • riskleri görür

Doğru model:

  • AI üretir
  • Expert değerlendirir
  • Sistem iyileşir

Bu özellikle şu alanlarda zorunlu:

  • Finans
  • Sağlık
  • Endüstriyel sistemler
  • Güvenlik

Sonuç

Bu yazının ana konusu “yazılımcılık ölüyor mu?”” tartışması değil.

Asıl mesele şu:

Yazılım geliştirme iki faza ayrılıyor:

  • Bugün: AI-augmented software engineering -> İnsan merkezli, AI destekli geliştirme modeli

  • Yarın: AI-native development -> AI merkezli, intent-driven geliştirme modeli

Fark, geliştiricinin rolünde değil, sistemin merkezinde.

Bugün:

  • AI, geliştiriciyi hızlandıran bir araç
  • Sistem insan tarafından tasarlanır
  • Kod hala birincil ve asıl çıktı (artefact)
  • Karar mekanizması insanda

Yarın:

  • AI, sistemin doğal bir parçası
  • Kod ikincil çıktı haline gelir
  • Intent -> execution pipeline otomatikleşir
  • İnsan, intent ve sınırları tanımlayan taraf

Değişmeyen tek şey:

Değer, kod yazmakta değil. Doğru problemi çözmekte.

Son soru:

Sen AI ile birlikte çalışan bir mühendis misin, yoksa AI’nın yerine geçeceği biri mi?


Bu yazıyı beğendiyseniz Twitter’da takipçilerinizle paylaşabilir veya beni Twitter’da takip edebilirsiniz.