← Back
𝕏 f in
Yazılım Eylül,18 · 16 dk okuma

Yazılım Alanında Yapay Zeka: İleride Neler Olacak?

Yazılım Alanında Yapay Zeka: İleride Neler Olacak?

Yazılım dünyası belki de tarihindeki en büyük dönüşümlerden birini yaşıyor.

Uzun yıllar boyunca yazılım geliştirmek denildiğinde akla aynı temel süreç geliyordu: Bir problemi analiz etmek, algoritmasını tasarlamak, kodunu yazmak, test etmek, hataları düzeltmek ve sistemi yayınlamak.

Bugün ise bu sürecin neredeyse her aşamasında yapay zeka var.

Bir geliştirici artık yapmak istediği sistemi doğal dille tarif ederek saniyeler içerisinde yüzlerce satır kod üretebiliyor. Yapay zeka mevcut bir projeyi inceleyebiliyor, hataları bulabiliyor, test yazabiliyor, veritabanı sorguları oluşturabiliyor ve hatta birden fazla dosyayı değiştirerek bir özelliği baştan sona geliştirebiliyor.

Daha da önemlisi, yapay zekanın rolü yalnızca "kod öneren bir yardımcı" olmaktan çıkmaya başladı.

Yeni nesil sistemler giderek AI Agent, yani belirli bir hedefi alıp bu hedefe ulaşmak için kendi başına birden fazla adım gerçekleştirebilen sistemlere dönüşüyor.

Bu nedenle asıl soru artık:

"Yapay zeka kod yazabilir mi?"

değil.

Asıl soru şu:

"Kodun büyük bölümünü yapay zeka yazmaya başladığında yazılımcının görevi ne olacak?"

Yazılım Geliştirmenin İlk Büyük Değişimi: Copilot Dönemi

Yapay zekanın yazılım dünyasındaki ilk büyük etkisini kod tamamlama araçlarıyla gördük.

Başlangıçta sistem oldukça basitti.

Geliştirici kodu yazıyordu, yapay zeka ise bir sonraki satırın ne olabileceğini tahmin ediyordu.

Örneğin:

public bool ValidateCardNumber(string cardNumber) {

yazdığınızda yapay zeka metodun geri kalanını tahmin edebiliyordu.

Bu sistemlerde kontrol tamamen geliştiricideydi.

Yapay zeka yalnızca yardımcıydı.

Fakat büyük dil modellerinin gelişmesiyle beraber ilişki değişmeye başladı.

Artık:

Bir ödeme sistemi oluştur.

.NET kullan.

Payment, Refund ve Cancel endpointleri olsun.

PostgreSQL kullan.

Her işlem loglansın.

Unit testlerini oluştur.

Docker ile çalıştırılabilir hale getir.

gibi bir talimat verdiğimizde yapay zeka yalnızca birkaç satır önermek yerine projenin önemli bir bölümünü oluşturabiliyor.

Bu çok önemli bir değişim.

Çünkü burada programlamanın temel arayüzü değişmeye başlıyor.

Kodlama Dili Yerine İnsan Dili mi?

Bu konuda en dikkat çekici görüşlerden biri eski Tesla AI direktörü ve OpenAI araştırmacılarından Andrej Karpathy'ye ait.

Karpathy, 2025 yılında yaptığı Software Is Changing (Again) sunumunda yazılım dünyasını kabaca üç döneme ayırıyor:

Software 1.0

İnsanların doğrudan kod yazdığı klasik yazılım.

def calculate(x): return x * 2

Software 2.0

Davranışın doğrudan yazılan kurallardan ziyade sinir ağlarının ağırlıkları tarafından belirlendiği dönem.

Software 3.0

Büyük dil modellerinin programlanabilir bir bilgisayar katmanı haline geldiği yeni dönem.

Buradaki en önemli fikir şu:

Doğal dil giderek bir programlama arayüzüne dönüşüyor.

Karpathy'nin yaklaşımında LLM'ler yeni bir bilgisayar türü gibi düşünülebilir ve bu bilgisayarları programlamak için Python, Java veya C# yerine belirli durumlarda İngilizce gibi doğal dilleri kullanıyoruz. citeturn0youtube77turn0search2

Örneğin klasik dünyada:

if (customer.age > 18 && customer.country === "TR") { // ... }

gibi kurallar yazarken bazı yeni nesil sistemlerde davranışı bir prompt ile tarif ediyoruz.

Bu durum kodun tamamen ortadan kalkacağı anlamına gelmiyor.

Ancak "programlama nedir?" sorusunun cevabını değiştiriyor.

Vibe Coding ve Yeni Yazılımcılık

Son dönemde sıkça duyduğumuz kavramlardan biri de Vibe Coding.

Bu kavramın popülerleşmesinde yine Andrej Karpathy'nin önemli rolü bulunuyor.

Temel fikir oldukça basit:

Geliştirici her satırı kendisi yazmak yerine yapmak istediği şeyi yapay zekaya tarif ediyor.

Örneğin:

Kullanıcının sürükleyerek dosya yükleyebileceği modern bir alan oluştur.

Dosya yüklenirken progress bar göster.

Dosya 20 MB'dan büyükse hata ver.

Backend'e multipart/form-data olarak gönder.

AI kodu oluşturuyor.

Geliştirici sonucu çalıştırıyor.

Sorun varsa:

Mobil görünüm bozuk.

Responsive hale getir ve progress bar tasarımını düzelt.

diyor.

Böylece geliştirme süreci giderek şu döngüye dönüşüyor:

Fikir ↓ Prompt ↓ AI ↓ Kod ↓ Çalıştır ↓ Kontrol et ↓ Düzelt

Bu yaklaşım özellikle prototip geliştirmeyi inanılmaz derecede hızlandırıyor.

Fakat burada önemli bir problem bulunuyor.

Kod yazmak ile yazılım geliştirmek aynı şey değildir.

Kod Yazmak Yazılım Mühendisliğinin Sadece Bir Bölümü

Bir uygulamanın kodunu oluşturmak işin yalnızca bir parçasıdır.

Gerçek bir üretim sisteminde şu soruların cevaplanması gerekir:

Sistem nasıl ölçeklenecek?

Veriler nasıl korunacak?

Authentication nasıl yapılacak?

Yetkilendirme nasıl yönetilecek?

Transaction yönetimi nasıl olacak?

Sistem çökerse ne olacak?

Loglar nerede tutulacak?

Bir servis cevap vermezse diğer servisler ne yapacak?

Veritabanı migration'ları nasıl yönetilecek?

Eski sistemlerle entegrasyon nasıl sağlanacak?

Güvenlik açıkları nasıl engellenecek?

Regülasyonlara nasıl uyulacak?

Bir AI saniyeler içerisinde çalışan bir API yazabilir.

Ancak çalışan kod ile üretime hazır sistem aynı şey değildir.

Özellikle ödeme sistemleri, bankacılık, sağlık, savunma, havacılık ve kritik altyapılar gibi alanlarda küçük bir hata bile ciddi sonuçlara yol açabilir.

Bu nedenle gelecekte yazılım mühendisliğinde kod üretmek kolaylaşırken doğru sistemi tasarlamak daha değerli hale gelebilir.

Dario Amodei: AI Kodun Büyük Bölümünü Yazabilir

Anthropic CEO'su Dario Amodei, 2025 yılında oldukça dikkat çekici bir tahminde bulundu.

Amodei, AI'ın birkaç ay içerisinde kod satırlarının çok büyük bölümünü yazabileceğini ve ilerleyen dönemde bu oranın neredeyse tamamına yaklaşabileceğini öngördü. Ancak aynı açıklamada insan geliştiricilerin uygulamanın ne yapacağını belirlemek, genel tasarım kararlarını vermek, farklı sistemlerin nasıl birlikte çalışacağını düşünmek ve güvenlik gibi konuları değerlendirmek konusunda hâlâ rol oynadığını özellikle belirtti. citeturn0search7

Daha sonraki açıklamalarında da önemli bir ayrım yaptı:

Kod satırlarının büyük bölümünün AI tarafından yazılması, yazılım mühendislerinin aynı oranda ortadan kalkması anlamına gelmiyor. citeturn0search11

Bu ayrım bence yazılımın geleceğini anlamak açısından oldukça önemli.

Çünkü gelecekte bir projede:

100.000 satır kod

bulunabilir.

Bunun:

95.000 satırını AI 5.000 satırını insan

üretmiş olabilir.

Fakat mimari kararları, gereksinimleri, güvenlik modelini ve sistemin nasıl davranacağını belirleyen taraf hâlâ insan olabilir.

Dolayısıyla gelecekte geliştiricinin değerini:

"Kaç satır kod yazdı?"

sorusuyla ölçmek giderek anlamsızlaşabilir.

Jensen Huang: Herkes Programcı Olabilir

NVIDIA CEO'su Jensen Huang da bu konuda oldukça radikal bir görüş ortaya koyuyor.

Huang'a göre bilgisayar endüstrisinin amaçlarından biri programlama bariyerini ortadan kaldırmak.

Yapay zeka sayesinde insanların bilgisayarlara kendi doğal dilleriyle ne yapmak istediklerini anlatabilmesi, yazılım geliştirmeyi çok daha geniş bir kitleye açıyor.

Huang bunu, insan dilinin programlama dili haline gelmesi ve böylece herkesin bir anlamda programcı olabilmesi şeklinde ifade ediyor. citeturn0search8

Bu gerçekleşirse yazılım sektöründe çok ilginç bir değişim görebiliriz.

Bugün bir girişim kurmak isteyen kişinin genellikle yazılım ekibine ihtiyacı var.

Gelecekte ise bir doktor:

Hastalarımı takip edeceğim bir uygulama yap.

bir restoran sahibi:

Stok ve sipariş sistemimi oluştur.

veya bir muhasebeci:

Faturaları okuyup gider kategorilerine ayıran bir sistem yap.

diyerek kendi ihtiyacına yönelik yazılım oluşturabilir.

Bu durum yazılım geliştiricilerin ortadan kalkması anlamına gelmek zorunda değil.

Tam tersine yazılım üretiminin toplam miktarını dramatik biçimde artırabilir.

Satya Nadella: Uygulamalardan Agent Dünyasına

Microsoft CEO'su Satya Nadella ise değişimi yalnızca kod üretimi açısından değerlendirmiyor.

Microsoft'un 2025'te açıkladığı yaklaşımda Nadella, uygulama dünyasının agentic applications olarak adlandırılan yeni bir döneme girdiğini ve uygulamaların geliştirilmesi, dağıtılması ve bakımının da giderek agent tabanlı hale geleceğini söylüyor. citeturn0search0

Bu çok daha büyük bir değişimin habercisi olabilir.

Bugün bilgisayar kullanımımız kabaca şöyle:

Kullanıcı ↓ Uygulama ↓ Menüler ↓ Butonlar ↓ İşlem

Örneğin uçak bileti almak için:

tarayıcıyı açıyoruz,

siteye giriyoruz,

şehirleri seçiyoruz,

tarihi belirliyoruz,

uçuşları karşılaştırıyoruz,

ödeme yapıyoruz.

Agent dünyasında ise arayüz şu hale gelebilir:

Kullanıcı ↓ AI Agent ↓ Uçuş API Otel API Takvim E-posta Ödeme sistemi

Kullanıcı yalnızca:

Önümüzdeki ay İstanbul'dan Roma'ya 3 günlük bir gezi planla.

Takvimime uygun tarihi bul.

Uçuş ve oteli araştır.

diyebilir.

Agent geri kalan süreci yönetebilir.

Bu durumda yalnızca yazılım geliştirme yöntemi değil, yazılım kullanma şeklimiz de değişir.

IDE'lerin Yerini Agent'lar mı Alacak?

Bugün geliştiricilerin temel çalışma ortamı IDE'ler.

Visual Studio, VS Code, IntelliJ gibi araçları açıyoruz ve dosyalar üzerinde çalışıyoruz.

Fakat geleceğin geliştirme ortamı farklı olabilir.

Şöyle bir ekran düşünelim:

PROJECT: Payment Platform

Goal: Yeni Refund özelliği ekle.

Requirements:

  • Partial refund destekle.
  • Transaction log oluştur.
  • Refund toplamı payment tutarını geçemesin.
  • Unit test oluştur.
  • API dokümantasyonunu güncelle.

AI Agent projeyi inceler.

Ardından:

PaymentService.cs RefundService.cs TransactionRepository.cs RefundController.cs RefundTests.cs openapi.yaml

dosyalarını tespit eder.

Değişiklikleri gerçekleştirir.

Testleri çalıştırır.

Bir test başarısız olursa logları inceler.

Hatayı düzeltir.

Tekrar test eder.

Sonunda geliştiriciye:

Refund özelliği tamamlandı.

18 test başarılı. 2 yeni migration oluşturuldu. 6 dosya değiştirildi.

Pull Request oluşturmamı ister misiniz?

diyebilir.

Aslında bunun ilk örneklerini bugün görmeye başladık.

Yeni nesil coding agent'ları artık yalnızca kod önermiyor; proje ölçeğinde değişiklikler, refactor ve migration gibi daha uzun soluklu yazılım görevlerine yöneliyor. citeturn0search13

Yazılımcılar İşsiz mi Kalacak?

Muhtemelen bu dönüşümle ilgili en fazla sorulan soru bu.

Bunun kesin cevabını bugün kimse bilmiyor.

Ancak yazılım sektöründe rollerin değişeceğini söylemek çok daha güvenli bir tahmin.

Bugünün geliştiricisi zamanının önemli bölümünü kod yazmaya harcıyor.

Geleceğin geliştiricisi ise zamanının daha büyük bölümünü:

problemi tanımlamaya,

gereksinimleri belirlemeye,

mimari tasarlamaya,

AI tarafından üretilen çözümleri değerlendirmeye,

güvenliği kontrol etmeye,

test stratejisi oluşturmaya,

sistemler arasındaki ilişkileri tasarlamaya

harcayabilir.

Yani dönüşüm kabaca şöyle olabilir:

CODE WRITER ↓ SOFTWARE ENGINEER ↓ SYSTEM DESIGNER ↓ AI ORCHESTRATOR

Buradaki isimlerin ne olacağını henüz bilmiyoruz.

Ancak "kod yazabilmek" ile "yazılım mühendisliği yapabilmek" arasındaki fark giderek büyüyebilir.

Junior Yazılımcılar İçin Bir Tehlike Var

Bence sektörün karşılaşacağı en önemli sorunlardan biri junior geliştiricilerin yetişmesi olacak.

Çünkü geçmişte bir geliştirici:

Basit CRUD ↓ API ↓ Database ↓ Authentication ↓ Architecture ↓ Distributed Systems

şeklinde ilerliyordu.

İlk yıllarında yaptığı basit işler ona tecrübe kazandırıyordu.

Fakat AI bu basit görevleri tamamen üstlenirse ilginç bir problem ortaya çıkabilir:

Senior geliştiricileri yetiştiren junior görevleri kim yapacak?

Bir geliştirici AI'a sürekli:

API oluştur.

deyip ortaya çıkan kodu anlamadan kullanırsa kısa vadede çok hızlı olabilir.

Ancak sistem çöktüğünde ne yapacağını bilemeyebilir.

Bu nedenle AI çağında temel yazılım bilgisinin önemi azalmak yerine bazı açılardan daha da artabilir.

Çünkü artık yalnızca kendi yazdığımız kodu değil, makinelerin ürettiği çok daha büyük miktarda kodu değerlendirmemiz gerekecek.

Yeni Bir Beceri: AI ile Yazılım Mühendisliği

Yakın gelecekte iyi bir geliştiricinin bilmesi gereken konular arasına yeni başlıklar eklenebilir.

Sadece:

C# Java Python JavaScript SQL

bilmek yeterli olmayabilir.

Bunların yanına:

LLM Prompt Engineering Context Engineering AI Agents Tool Calling RAG MCP Evals Guardrails Model Routing

gibi kavramlar ekleniyor.

Ancak bunların üzerinde daha önemli bir beceri bulunuyor:

Bir problemi doğru şekilde parçalayabilmek.

Çünkü AI'a:

Bana ödeme sistemi yap.

demek ile:

Payment işlemini idempotent tasarla.

OrderId + MerchantId için unique constraint kullan.

Timeout durumunda işlemin sonucunu transaction query ile doğrula.

Payment başarılı ancak response merchant'a ulaşmadıysa aynı işlemin ikinci kez finansallaşmasını engelle.

demek arasında büyük fark vardır.

İkinci talimatı verebilmek için ödeme sistemlerini anlamanız gerekir.

Yapay zeka kod bilgisinin değerini azaltabilir.

Ama domain bilgisinin değerini artırabilir.

En Değerli Geliştiriciler Kimler Olacak?

Geleceğin en değerli geliştiricisinin yalnızca en hızlı kod yazan kişi olacağını düşünmüyorum.

Daha değerli profil muhtemelen şu kombinasyona sahip olacak:

Domain Knowledge + Software Architecture + AI + Security + System Thinking

Örneğin ödeme sistemlerinde çalışan bir geliştirici için:

3D Secure ISO 8583 Authorization Clearing Settlement Fraud Tokenization PCI DSS

bilgisi son derece değerlidir.

AI kodu yazabilir.

Ama önce hangi kodun neden yazılması gerektiğini anlaması gerekir.

İnsan burada bağlamı sağlayan taraf olmaya devam edecektir.

Yazılım Maliyeti Dramatik Şekilde Düşebilir

Bu dönüşümün başka bir sonucu daha olacak.

Yazılım üretmenin maliyeti düşecek.

Eskiden küçük bir SaaS ürünü oluşturmak için:

Backend Developer Frontend Developer Mobile Developer DevOps Designer QA

gibi bir ekip gerekebiliyordu.

AI araçları geliştikçe çok daha küçük ekipler çok daha büyük ürünler geliştirebilir.

Belki gelecekte:

3 kişi + 20 AI Agent

bugünün:

30 kişilik yazılım ekibinin

yapabildiği işi yapabilecek.

Bunun sonucunda dünyadaki yazılım miktarı azalmak yerine büyük ihtimalle artacaktır.

Çünkü yazılım üretmenin maliyeti düştükçe daha önce ekonomik olmayan binlerce fikir uygulanabilir hale gelir.

Kod Bir Gün Tamamen Görünmez Olabilir

Daha ileri bir gelecekte ilginç bir ihtimal var.

Bugün bir uygulamanın kaynak kodunu saklıyoruz.

Örneğin:

UserController.cs PaymentService.cs OrderRepository.cs

Ancak gelecekte bazı yazılımlar gerektiği anda üretilebilir.

Kullanıcı:

Son üç aylık harcamalarımı analiz et.

Restoran harcamalarımı bul.

Geçen aya göre artışı grafikle göster.

dediğinde AI bu işlem için gerekli kodu o anda oluşturabilir, çalıştırabilir ve daha sonra bu kodu tamamen atabilir.

Yani bazı durumlarda:

Software as a Product

yerine:

Software Generated on Demand

modeline geçebiliriz.

Yazılım sabit bir ürün olmaktan çıkıp ihtiyaç anında oluşturulan geçici bir araç haline gelebilir.

Peki Programlama Dilleri Yok Olacak mı?

Kısa ve orta vadede bunun gerçekleşmesi pek olası görünmüyor.

Çünkü bilgisayarların hâlâ deterministik sistemlere ihtiyacı var.

Bankacılık işlemlerinde:

if balance >= amount

gibi bir kontrolü LLM'in tahminine bırakmak istemeyiz.

Burada kesin sonuç gerekir.

Bu nedenle geleceğin sistemleri muhtemelen hibrit olacaktır.

    AI
    │
    ▼

Reasoning / Planning │ ▼ Traditional Software │ ▼ Database / API / Infrastructure

AI ne yapılacağına karar verebilir.

Ancak kritik işlemleri klasik ve deterministik yazılım gerçekleştirebilir.

Bu nedenle C#, Java, C++, Rust, Go veya Python gibi diller ortadan kalkmayabilir.

Fakat bu dilleri insanlardan çok AI'ların yazdığı bir döneme girebiliriz.

Yazılım 2030'larda Nasıl Görünebilir?

Bugünkü gelişim devam ederse yazılım geliştirme süreci giderek şöyle bir yapıya yaklaşabilir:

             HUMAN
               │
               ▼
        Problem / Goal
               │
               ▼
        AI Architect
               │
    ┌──────────┼──────────┐
    ▼          ▼          ▼

Backend Agent Frontend Agent Test Agent │ │ │ └──────────┼──────────┘ ▼ AI Reviewer │ ▼ Security Agent │ ▼ CI/CD │ ▼ Production

İnsan artık her dosyayı tek tek yazmak yerine sistemin amacını, sınırlarını ve mimarisini yönetiyor olabilir.

Bir anlamda geliştirici:

kod yazan kişi

olmaktan çıkıp:

yazılım üreten AI sistemlerini yöneten kişi

haline gelebilir.

Sonuç

Yapay zeka yazılım sektörünü ortadan kaldırmıyor.

Ancak yazılım geliştirmenin ne anlama geldiğini yeniden tanımlıyor.

Karpathy'nin Software 3.0 yaklaşımı doğal dili yeni bir programlama katmanı olarak görüyor. Jensen Huang programlamanın herkes için erişilebilir hale gelebileceğini savunuyor. Dario Amodei AI'ın kod üretimindeki payının çok hızlı artacağını öngörüyor. Satya Nadella ise geleceği yalnızca AI destekli uygulamalar değil, agent tabanlı yazılım sistemleri üzerinden değerlendiriyor. citeturn0youtube77turn0search8turn0search7turn0search0

Bu isimlerin zamanlama ve sonuçlar konusunda farklı görüşleri olsa da ortak bir nokta var:

Yazılım geliştirme biçimi değişiyor.

Bundan birkaç yıl önce:

"Hangi programlama dilini öğrenmeliyim?"

en önemli sorulardan biriydi.

Yakın gelecekte ise daha önemli soru şu olabilir:

"Bir problemi bilgisayar ve yapay zekanın çözebileceği şekilde nasıl tanımlarım?"

Çünkü kod üretmek giderek ucuzlayabilir.

Ama doğru problemi seçmek, doğru mimariyi kurmak, güvenli sistemi tasarlamak ve neyin yapılması gerektiğine karar vermek hâlâ zor problemlerdir.

Belki de geleceğin iyi yazılımcısı en fazla kod yazan kişi olmayacak.

AI'ın ne yazması gerektiğini en iyi bilen kişi olacak.

Yazan: Osman Özaydın Tüm yazılara dön