AI Genel Çalışma Rehberi

Blog / Makale

Yazılımcı Kimliklerinin Evrimi: AI Çağında Geliştirici Olmak

Eskiden "Java mı biliyorsun, .NET mi?" diye sorulurdu. Şimdi soru değişti: "AI ile nasıl çalışıyorsun?"


İçindekiler

  1. Giriş
  2. 1. Dönem: Araç ve Katman Merkezli Kimlik (2000–2018)
    • Dil Kabileleri
    • Katman Bazlı Kimlikler
  3. 2. Dönem: Framework ve Ürün Odaklılık (2018–2022)
    • Dil Kimliğinin Zayıflaması
    • Yeni Hibrit Kimlikler
  4. 3. Dönem: Yapay Zeka Devrimi (2022 → Günümüz)
    • Kırılma Noktası
    • GitHub Copilot: İlk Domino Taşı
  5. Yeni Roller: Tanımlar ve Gerçekler
    • Prompt Engineer
    • Vibe Coder
    • AI Engineer
    • MLOps / ML Engineer
  6. Yeni Ayrım Çizgisi
  7. Reasoning ve Execution Ayrımı
  8. Junior Paradoksu: Öğrenme Merdiveninin Krizi
  9. AI-Native Geliştirme Araçları
    • GitHub Copilot ve VS Code Ekosistemi
    • Claude Code ve Terminal-First Yaklaşım
    • Cursor, Windsurf ve Yeni Nesil IDE'ler
    • Araç Seçim Rehberi
  10. Yeni Dönemin Beceri Haritası
    • Herkes İçin Temel Beceriler
    • Vibe Coder için Önerilen Beceriler
    • AI Engineer için Gerekli Beceriler
    • MLOps / ML Engineer için Ek Beceriler
  11. Gelecek: System Thinker Developer
  12. Özet ve Son Söz
  13. Kaynaklar ve İleri Okuma

Giriş

2010'ların başında bir yazılımcıyla tanıştığınızda ilk soru belliydi: "Ne yazıyorsun?" Cevap bir aidiyet beyanıydı. Java'cılar, .NET'çiler, PHP'ciler... Her biri kendi ekosisteminin vatandaşıydı.

Bugün aynı soruyu sorduğunuzda cevaplar farklılaştı: "Vibe coding yapıyorum", "AI Engineer'ım", "Agent sistemleri kuruyorum." Sadece 3-4 yılda yazılım dünyasının kimlik haritası tamamen değişti.

Bu makalede, yazılımcı kimliklerinin nasıl evrildiğini, yeni rollerin ne anlama geldiğini ve bu rollerin hangi teknik becerileri gerektirdiğini inceleyeceğiz.


1. Dönem: Araç ve Katman Merkezli Kimlik (2000–2018)

Dil Kabileleri

Bu dönemde yazılımcılar büyük ölçüde kullandıkları dil veya platform ile tanımlanırdı. Her dilin kendi kültürü, stereotipleri ve hatta "düşmanları" vardı.

Java Dünyası: Enterprise sistemlerin dili. "Write once, run anywhere" felsefesi. Büyük şirketler, bankalar, sigorta sistemleri. Verbose ama güvenilir.

NET Ekosistemi: Microsoft'un kurumsal çözümü. Windows-first yaklaşım. Bankalar ve devlet kurumları. Visual Studio kültürü.

PHP Camiası: Web'in emekçileri. WordPress'ten büyük e-ticaret sitelerine kadar. "Çirkin ama çalışıyor" pragmatizmi.

Python Topluluğu: Akademi ve scripting dünyası. Okunabilirlik öncelikli. Henüz AI patlaması öncesi, daha çok sistem yönetimi ve veri işleme.

C/C++ Ustaları: Sistem programcıları. Performans takıntılılar. "Gerçek programcılar bellek yönetir" mottosu. Embedded sistemler ve oyun motorları.

Bu ayrışma bazen kabile savaşlarına dönüşürdü. Java vs .NET tartışmaları, tabs vs spaces kadar ateşli geçerdi.

Katman Bazlı Kimlikler

2010'larla birlikte web'in karmaşıklaşması yeni bir ayrışma ekseni getirdi:

Frontend Geliştiriciler: Kullanıcının gördüğü her şeyden sorumluydu. HTML/CSS/JavaScript üçlüsü temeldi. Sonra framework savaşları başladı: Angular mı, React mı, Vue mu?

Backend Geliştiriciler: Sunucu tarafı mantık, veritabanları, API'ler. Kullanıcının görmediği ama sistemin çalışmasını sağlayan her şey.

Full Stack Geliştiriciler: Startup kültürünün yükselişiyle popülerleşen "her şeyi yaparım" iddiası. Hem frontend hem backend. Küçük ekiplerin vazgeçilmezi.

Mobile Geliştiriciler: iOS vs Android kampları. Native vs cross-platform tartışmaları. Kendi dünyalarına sahip ayrı bir kabile.

Bu Dönemin Karakteristik Özellikleri

Bu dönemde değer, bilgi asimetrisindeydi. Kod yazmak zordu, boilerplate çoktu, framework'ler ilkeldi. Bir dili veya platformu iyi bilmek ciddi bir rekabet avantajıydı.

Stack Overflow bu dönemin altın çağını yaşadı. Karşılaştığınız hata mesajını Google'a yazıp çözüm bulmak standart iş akışıydı.

Verimlilik denklemi basitti: Dili ne kadar iyi bilirsen, o kadar hızlı üretirsin.


2. Dönem: Framework ve Ürün Odaklılık (2018–2022)

Dil Kimliğinin Zayıflaması

Bu geçiş döneminde dil bazlı kimlikler önemini yitirmeye başladı. Birkaç faktör bu dönüşümü tetikledi:

Framework'lerin Güçlenmesi: React, Spring Boot, FastAPI gibi framework'ler o kadar güçlendi ki, dili bilmekten çok framework'ü bilmek önem kazandı. Bir React geliştiricisi JavaScript'ten çok React bilirdi.

Cloud ve DevOps'un Yaygınlaşması: AWS, Azure, GCP gibi bulut platformları her yerde kullanılmaya başlandı. "Kod yazmak" kadar "kodu deploy etmek" de önemli hale geldi.

Startup Kültürünün Yükselişi: Hızlı MVP çıkarmak, ürün-pazar uyumu bulmak gibi kavramlar öne çıktı. "Hangi dili biliyorsun?" sorusu yerini "Ne kadar hızlı ürün çıkarabilirsin?" sorusuna bıraktı.

Yeni Hibrit Kimlikler

Bu dönemde saf dil veya katman kimlikleri yerini hibrit kimliklere bırakmaya başladı:

Paradigma Kayması

Kimlik sorusu temel bir değişime uğradı:

"Hangi dili biliyorsun?" → "Ne inşa edebiliyorsun?"

Artık önemli olan hangi araçları kullandığın değil, o araçlarla ne yarattığındı.


3. Dönem: Yapay Zeka Devrimi (2022 → Günümüz)

Kırılma Noktası

ChatGPT'nin Kasım 2022'de piyasaya çıkmasıyla yazılım dünyası bir kırılma noktası yaşadı. Büyük Dil Modelleri (LLM'ler) artık kod yazabiliyor, test yazabiliyor, refactor yapabiliyor, dokümantasyon üretebiliyordu.

Bu noktada kritik bir değişim yaşandı:

Kod yazmak artık kıt kaynak değil. Doğru şeyi yaptırmak kıt kaynak.

Dil bilgisi "commoditize" oldu. Python syntax'ını ezbere bilmenin artık çok az değeri var çünkü herhangi bir LLM bunu sizden daha hızlı ve hatasız yapabiliyor.

GitHub Copilot: İlk Domino Taşı

Aslında devrim ChatGPT'den önce başlamıştı. GitHub Copilot, Haziran 2021'de preview olarak çıktığında, yazılımcıların AI ile ilişkisinin ilk ciddi testi oldu.

Copilot'un yaptığı basit görünüyordu: kod yazarken öneri sunmak. Ama etkisi derin oldu:

İlk Tepkiler (2021-2022):

Gerçekte Olan:

Copilot, AI-assisted coding'in "proof of concept"i oldu. Arkasından gelen araçlar (Cursor, Claude Code, Windsurf) çıtayı daha da yükseltti.

Problem Değişti

Eskiden: "Bu kodu nasıl yazarım?" → Şimdi: "Bu sistemi nasıl tasarlar, yönlendirir ve kontrol ederim?"

Eskiden: "Bu hatayı nasıl çözerim?" → Şimdi: "AI'ın ürettiği çözümü nasıl değerlendiririm?"

Eskiden: "Bu framework'ü nasıl öğrenirim?" → Şimdi: "Bu probleme AI mı, geleneksel kod mu, yoksa ikisinin kombinasyonu mu uygun?"

İkinci Kırılma: Önermekten Eyleme Geçiş

Copilot ve ChatGPT "öneren" sistemlerdi. Ama 2024'te yeni bir kırılma yaşandı: AI sistemleri sadece öneren değil, eylem alan sistemlere dönüştü.

Bu noktada yeni kavramlar ortaya çıktı:

Önce: Copilot önerir → Sonra: Agent karar verir

Önce: Kod yazılır → Sonra: Tool çalıştırılır

Önce: IDE içi → Sonra: Sistemler arası

Önce: Prompt merkezli → Sonra: Protocol merkezli

Bu geçiş, yazılımcının rolünü kökten değiştirdi. Artık sadece "kod yazan" değil, AI'ın eylemlerini tasarlayan ve sınırlarını çizen kişi olduk.


4. Yeni Roller: Tanımlar ve Gerçekler

Prompt Engineer

Ortaya Çıkışı: LLM'lerle ilk temas döneminde (2022-2023). Başlangıçta alay konusu oldu ("Yazmayı bilmek de meslek mi?"), sonra ciddi maaşlarla aranan bir pozisyon haline geldi.

Rolü: Modele ne söyleyeceğini bilen, talimat yazabilen kişi. LLM'lerden maksimum verimi almak için prompt tasarlayan uzman.

Mevcut Durumu: Bu rol büyük ölçüde "commoditize" oldu. Prompt bilgisi artık herkesin bilmesi gereken bir okuryazarlık haline geldi, tıpkı "Google'da arama yapmayı bilmek" gibi. Başlangıçta ayrı bir beceriydi, şimdi varsayılan bir beklenti.

2023 vs 2025 Gerçekliği: İlk dönemin "few-shot learning" ve "chain-of-thought" odaklı prompt engineering anlayışı artık yetersiz. Production sistemlerde prompt'lar tek başına düşünülmüyor. Bugün prompt'lar; policy tanımları, tool schema'ları, guardrail kuralları ve execution sınırları ile birlikte tasarlanıyor. Prompt engineering, daha büyük bir sistem tasarımının parçası haline geldi.

Nüans: Yine de sistem promptları tasarlamak, karmaşık agentic workflow'lar için talimat setleri oluşturmak hâlâ uzmanlık gerektiriyor. Ama bu, bağımsız bir iş unvanından çok AI Engineer'ın bir alt becerisi haline geldi.

Vibe Coder

Tanım: Andrej Karpathy'nin popülerleştirdiği terim. Kodu satır satır yazmak yerine, AI'a ne istediğini anlatan ve çıkan kodu kabul eden geliştirici. "Çalışıyorsa dokunma" felsefesiyle hareket eder.

Olumlu Tarafı:

Tehlikeli Tarafı:

Kritik Soru: Vibe coder'lar gerçek mühendis mi? Bu aslında yanlış soru. Doğru soru: "Bu kişi ürettiği sistemin sınırlarını biliyor mu?"

Dengeli Bakış: Vibe coding, öğrenme ve keşif aşaması için mükemmel. Yeni bir API'yi denemek, fikri test etmek, hızlı prototip çıkarmak için ideal. Ama sorumluluk gerektiren sistemler (finans, sağlık, güvenlik) için tek başına yetersiz.

Vibe coding tek başına ne iyi ne kötü. Prototip için mükemmel, production için riskli. Sorun, bu ayrımı yapamayan kişilerde ortaya çıkıyor.

AI Engineer

Neden Bu Rol Gerçek ve Kalıcı? Çünkü burada mesele prompt değil, sistem entegrasyonu. AI Engineer, "LLM kullanan" değil, LLM'yi sisteme entegre eden kişi.

Önemli Bir Perspektif: AI Engineer, aslında yepyeni bir uzmanlık değil. Klasik yazılım mühendisliğinin, olasılıksal sistemlerle genişlemiş hali. Temel mühendislik prensipleri (modülerlik, test edilebilirlik, hata yönetimi) hâlâ geçerli; sadece artık deterministik olmayan bir bileşenle de çalışmayı bilmek gerekiyor.

AI Engineer'ın Temel Sorumlulukları:

AI Engineer bir nevi "tercüman" görevi görüyor: deterministik yazılım dünyası ile olasılıksal AI dünyası arasında köprü kuruyor. Geleneksel yazılım mühendisliğini bilen ama AI'ın nasıl çalıştığını da anlayan birisi.

MLOps / ML Engineer

Rolü: Data scientist'in ürettiği modeli production'a taşıyan, orada çalışır halde tutan kişi. Model eğitimi, deployment, monitoring, versiyonlama.

AI Engineer'dan Farkı: AI Engineer hazır modelleri (GPT, Claude, vb.) kullanır ve entegre eder. ML Engineer ise modellerin kendisini eğitir, optimize eder ve deploy eder.


5. Yeni Ayrım Çizgisi

Önemsizleşen Ayrımlar

Artık şu soruların önemi azaldı:

Kritik Yeni Ayrımlar

Şimdi önemli olan sorular:


6. Reasoning ve Execution Ayrımı

Bugünkü AI sistemlerinin en kritik mimari kararı, reasoning (akıl yürütme) ile execution (eylem) arasındaki sınırın nerede çizileceği.

Temel Ayrım

Reasoning (LLM): Düşünme, planlama | Olasılıksal | Hata yapabilir | Context'e bağlı

Execution (Tool/MCP): Yapma, çalıştırma | Deterministik | Kesin sonuç | API'ye bağlı

Neden Bu Ayrım Kritik?

Ölçeklenebilirlik: Bu ayrımı bilmeyen sistemler ölçeklenmez. LLM'e her şeyi yaptırmaya çalışmak hem yavaş hem pahalı hem de güvenilmez.

Güvenilirlik: Kritik işlemler (ödeme, veritabanı yazma, dosya silme) LLM'in "düşünmesine" bırakılmamalı. LLM karar verebilir, ama eylem deterministik kod veya tool üzerinden geçmeli.

Güvenlik: Execution boundary'leri belirsiz olan sistemler, prompt injection ve diğer saldırılara açık.

Pratik Örnek

Senaryo: Kullanıcı "Hesabımdaki son 3 işlemi sil" diyor.

❌ Kötü Tasarım: LLM → Doğrudan veritabanına SQL çalıştırır

✅ İyi Tasarım:

MCP'nin Rolü

Model Context Protocol (MCP), bu ayrımı standartlaştırıyor:

Bu ayrımı anlamak, modern AI sistemleri tasarlamanın temelidir.


7. Junior Paradoksu: Öğrenme Merdiveninin Krizi

AI devriminin en az tartışılan ama en kritik sonuçlarından biri "Junior Paradoksu":

AI junior seviye işleri otomatize ediyorsa, junior'lar nasıl senior olacak?

Eskiden Öğrenme Yolu:

  1. Junior: CRUD operasyonları yazar
  2. Code review alır, hatalarından öğrenir
  3. Daha karmaşık task'lar verilir
  4. Zamanla sistem tasarımı yapmaya başlar
  5. Senior olur

Şimdiki Durum:

  1. AI: CRUD operasyonlarını, basit bug fix'leri, boilerplate kodu yazıyor
  2. Junior: ???

Bu bir "öğrenme merdiveni krizi." Alt basamaklar AI tarafından kapatılıyorsa, insanlar üst basamaklara nasıl tırmanacak?

Olası Çözümler:


8. AI-Native Geliştirme Araçları

Yeni dönemin en belirgin özelliklerinden biri, geliştirme araçlarının kendisinin AI-native hale gelmesi. Artık AI sadece "yardımcı" değil, geliştirme deneyiminin merkezinde.

GitHub Copilot ve VS Code Ekosistemi

GitHub Copilot, AI-assisted coding'in ana akım olmasını sağlayan araç. VS Code ile entegrasyonu onu milyonlarca geliştiriciye ulaştırdı.

Temel Özellikler:

VS Code Ekosistemindeki AI Araçları:

Copilot Ne Zaman İşe Yarar?

Copilot'un Sınırları:

Claude Code ve Terminal-First Yaklaşım

Claude Code, Anthropic'in agentic coding aracı. Diğerlerinden farklı olarak terminal-native ve tam otonom çalışabiliyor.

Farkı Ne?

Kullanım Senaryoları:

Claude Code Ne Zaman Tercih Edilir?

Dikkat Edilmesi Gerekenler:

Cursor, Windsurf ve Yeni Nesil IDE'ler

VS Code fork'ları olarak ortaya çıkan bu araçlar, AI'ı IDE deneyiminin merkezine koyuyor.

Cursor

VS Code tabanlı, AI-first IDE. "VS Code + Copilot on steroids" olarak düşünülebilir.

Öne çıkan özellikler:

Windsurf (Codeium)

Cursor'a rakip, Codeium'un IDE'si.

Öne çıkan özellikler:

Replit Agent, Bolt.new, v0.dev

"Sıfırdan uygulama oluşturma" kategorisinde araçlar:

Bu araçlar özellikle vibe coding için ideal. Prototip çıkarmak, fikri test etmek için mükemmel. Production için dikkatli olmak gerek.

Araç Seçim Rehberi

Mevcut codebase'de çalışma: Cursor veya VS Code + Copilot - Codebase context önemli

Hızlı prototip: Bolt.new, Replit Agent - Sıfırdan hızlı başlangıç

Terminal-centric workflow: Claude Code - IDE'siz, otonom çalışma

Kurumsal/Enterprise: GitHub Copilot - Güvenlik, compliance

Bütçe kısıtlı: Codeium, Windsurf - Cömert ücretsiz tier

UI component oluşturma: v0.dev - Tailwind/React odaklı

Büyük refactoring: Claude Code veya Cursor Composer - Multi-file değişiklik

Araçların Karşılaştırmalı Özeti

Hibrit Kullanım Stratejileri

Deneyimli geliştiriciler genellikle tek bir araca bağlı kalmıyor:

Örnek Workflow 1: Feature Development

  1. Cursor'da codebase'i indexle
  2. Composer ile feature'ın iskeletini oluştur
  3. Copilot ile detay implementasyonu
  4. Claude Code ile test yazımı

Örnek Workflow 2: Bug Hunting

  1. Claude Code ile "explain this codebase"
  2. Cursor Chat ile şüpheli alanları sor
  3. Debugging için geleneksel araçlar (breakpoints, logs)

Örnek Workflow 3: Prototipten Production'a

  1. Bolt.new ile hızlı prototip
  2. Kodu Cursor'a taşı
  3. Claude Code ile production-ready refactoring
  4. Copilot ile testler ve dokümantasyon

9. Yeni Dönemin Beceri Haritası

Yeni roller yeni beceriler gerektiriyor. İşte her rol için gerekli teknik yetkinlikler:

Herkes İçin Temel Beceriler (Zorunlu)

Bu beceriler artık "bilsen iyi olur" değil, "bilmezsen geride kalırsın" kategorisinde:

Prompt Engineering Temelleri

AI Araçları ile Çalışma

Versiyon Kontrolü ve İşbirliği

Temel Komut Satırı ve Sistem Bilgisi

Vibe Coder için Önerilen Beceriler

Vibe coding yapanlar için minimum teknik altyapı:

Hızlı Prototipleme Araçları

Temel Web Teknolojileri

Deployment Temelleri

Dikkat Edilmesi Gerekenler

AI Engineer için Gerekli Beceriler

AI Engineer olabilmek için çok daha kapsamlı bir teknik altyapı gerekiyor:

LLM ve AI Temelleri

RAG (Retrieval-Augmented Generation) Sistemleri

Agent ve Tool Calling

API ve Entegrasyon

Altyapı ve DevOps

Veri İşleme

Güvenlik

Monitoring ve Observability

Programlama Dilleri

MLOps / ML Engineer için Ek Beceriler

ML Engineer olmak için AI Engineer becerilerine ek olarak:

Model Eğitimi ve Fine-tuning

Model Serving

ML Pipeline'ları

GPU ve Compute


10. Gelecek: System Thinker Developer

Yeni Yazılımcı Profili

Eskiden: Kod yazan kişi Şimdi: Kodu kimin, nerede, nasıl yazacağını bilen kişi Gelecek: Sistemleri orkestre eden kişi

Gelecek yazılımcısı şu becerilere sahip olacak:

Agent Okuryazarlığı: Agent ne yapar, nerede durmalı, nasıl kontrol edilir, güvenlik sınırları nasıl çizilir.

Tool Farkındalığı: MCP, function calling, external integrations. Hangi araç ne için kullanılır, nasıl bağlanır.

Reasoning/Execution Ayrımı: Düşünme ile yapma arasındaki farkı bilmek. LLM'in ne zaman "düşünmesi", ne zaman "yapması" gerektiğini ayırt etmek.

Hybrid Architecture: AI + geleneksel kod + insan denetimi dengesini kurmak. Her problemin AI problemi olmadığını bilmek.


Özet ve Son Söz

Özet

2000-2018: Kimlik sorusu "Hangi dili biliyorsun?" | Değer kaynağı: Dil uzmanlığı | Ana risk: Tek dile hapsolmak

2018-2022: Kimlik sorusu "Ne inşa edebiliyorsun?" | Değer kaynağı: Ürün çıkarma becerisi | Ana risk: Framework bağımlılığı

2022+: Kimlik sorusu "AI ile nasıl çalışıyorsun?" | Değer kaynağı: Orkestrasyon + Sistem düşüncesi | Ana risk: Temelsiz üretkenlik


Son Söz

Yazılım dünyası, tarihinin en büyük dönüşümlerinden birini yaşıyor. Eskiden yazılımcı "kodu yazan" kişiydi. Şimdi yazılımcı "kodu kimin, nerede, nasıl yazacağını bilen" kişi.

Ve belki de en önemlisi: "Kodun nerede bitmesi gerektiğini bilen" kişi.

Çünkü artık her şeyi koda dökmek zorunda değiliz. Bazen bir prompt, bazen bir agent, bazen geleneksel kod, bazen de bunların hiçbiri doğru cevap olabilir. Bu ayrımı yapabilmek, yeni dönemin en kritik becerisi.

Dil savaşları artık geride kaldı. Yeni savaş, adaptasyon hızında.

Soru artık şu değil: "Hangi dili biliyorsun?"

Soru şu: "Neyi, kime, nerede yaptırıyorsun?"


Kaynaklar ve İleri Okuma

Temel Referanslar:

Derinlemesine Okumalar:

Araçlar ve Dokümantasyonlar:


Bu makale, yapay zeka destekli içerik üretim araçları kullanılarak hazırlanmıştır. İroni, farkındayız.