24 puan yazan GN⁺ 2025-09-03 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Bir staff engineer, Claude Code kullanarak yapay zekayla birlikte çalışan bir geliştirme iş akışını 6 hafta boyunca denediği deneyimini paylaşıyor
  • Yapay zekayı ‘öğrenmeyen bir junior geliştirici’ olarak görme yaklaşımı, başarılı entegrasyonun anahtarı
  • İlk denemeler çoğunlukla %95 başarısız oluyor; ancak tekrarlar sayesinde kod giderek işe yarar hale geliyor
  • Proje bazlı bağlam dosyaları (Claude.md) ve MCP tabanlı araç entegrasyonu ile yapay zekanın bağlam eksikliği sorunu çözülebiliyor
  • Geliştiricinin rolü kod yazmaktan problem çözme ve mimari tasarıma kayıyor; bu da yapay zeka çağında yeni bir üretkenlik modeli anlamına geliyor

Arka plan ve yaklaşım

  • Yazı sahibi eskiden tüm kodu kendisi yazarken, son dönemde kodun %80’ini yapay zekaya yazdırıyor ve kendisi mimari, inceleme ve çok iş parçacıklı geliştirme yönetimine odaklanıyor
  • Bu yazı, “yapay zeka devrimi yönlendiriyor” gibi pembe bir anlatı değil; yapay zekayı gerçek üretim geliştirme iş akışına entegre ederken yaşanan karmaşa ve gerçekçi yöntemleri paylaşıyor
  • Yapay zekaya “öğrenmeyen bir junior geliştirici” gibi yaklaşmak, başarılı kullanımın kilit noktası

Geliştirme paradigmasının değişim süreci

  • İlk 5 yılda kitaplara ve SDK dokümantasyonuna dayalı geliştirme biçimi sürdü
  • Sonraki 12 yılda arama (google) tabanlı kolektif bilgi kullanımı dönemine geçildi
  • Son 18 ayda Cursor üzerinden yapay zeka destekli kodlama denemeleri yapıldı
  • Hemen önceki 6 haftada ise Claude Code ile bütünsel yapay zeka delegasyonu sayesinde keskin bir değişim yaşandı
  • Claude Code’a uyum sağlamak, yalnızca birkaç saat içinde üretkenlik artışını hissettirdi

Gerçek yapay zeka tabanlı üretim iş akışı

  • Üretime girecek kod üzerinde çalışırken, yapay zeka çoğunlukla “düşünmek için” kullanılıyor
  • Tek seferde kusursuz kod üretmek mümkün değil. Bir mühendisin görevi, probleme en iyi çözümü bulmak
    • İlk deneme (%95 başarısız): Yapay zeka sistem bağlamını toplamaya başlıyor, geliştirici de problemi netleştiriyor; ancak kod neredeyse tamamen yanlış oluyor
    • İkinci deneme (%50 başarısız): Bağlam anlayışı gelişiyor ve yaklaşım somutlaşıyor; ama hâlâ yarısı işe yaramıyor
    • Üçüncü deneme (kullanılabilir kod): Tekrar ve inceleme sonrası gerçekten kullanılabilir bir temel kod ortaya çıkıyor ve sonrasında iyileştirilebiliyor
  • Bu süreç başarısızlık değil; bilinçli olarak planlanmış deneyler ve yinelemeli optimizasyon süreci

Bağlam sorunu ve çözümler

  • Yapay zeka oturumlar arasında belleği koruyamadığı için aynı açıklamaları her seferinde yeniden vermek gerekiyor
  • Çözüm olarak Claude.md dosyası kullanılıyor; burada mimari kararlar, kalıplar ve doküman bağlantıları tutuluyor
  • MCP entegrasyonu sayesinde Linear, Notion, GitHub, kod tabanı ve veritabanına bağlanarak bağlam otomatik sağlanabiliyor
    • Linear ile ticket bağlamı sağlanıyor
    • Notion veya Canvas üzerinden dokümanlara erişiliyor
    • Üretim dışı veritabanı ile veri yapısı kontrol ediliyor
    • GitHub üzerindeki geçmiş PR’ların arka plan bilgileri kullanılıyor

Paralel Claude örnekleri kullanımı ve temel stratejiler

  • Birden fazla Claude örneği paralel yürütülüyor; yaklaşım, “her gün hafızasını kaybeden küçük bir geliştirme ekibini” yönetmek gibi
  • Aynı problem alanında paralelleştirmeden kaçınma, tüm işleri Linear gibi proje yönetim araçlarına kaydetme ve insanın doğrudan düzenlediği kodu net biçimde işaretleme gibi stratejiler uygulanıyor
  • Sadece kod yazımında değil, kod incelemesinde de yapay zeka yoğun biçimde kullanılıyor: eksik testler, açık hatalar ve iyileştirme noktaları hızla bulunarak tekrar eden işler azaltılıyor
  • Yazarın şirketi Sanity’nin politikası gereği, yapay zekanın ürettiği kodda bile nihai kalite sorumluluğu mühendise ait
  • Yapay zeka ve insanın ayırt edilmediği bir kod üretim ortamında, duygusal bağlılık azalıyor ve daha eleştirel, daha nesnel kod incelemesi mümkün oluyor

3 aşamalı kod inceleme süreci

  • Kod yazmak işin bir parçasıysa, kodu incelemek de aynı ölçüde işin parçası
    1. inceleme: Claude’un ilk kontrolü
    • Test kapsamı eksikleri ve bariz hataların tespiti
    • İyileştirme önerileriyle ekip arkadaşlarının inceleme süresinden tasarruf sağlanması
    1. inceleme: Benim incelemem
    • Bakım kolaylığı, mimari, iş mantığı ve entegrasyon kontrolü
    • Kod yapay zeka üretimi olsa bile nihai sorumluluk mühendiste
    1. inceleme: Ekibin standart incelemesi
    • Hangi bölümlerin yapay zeka üretimi olduğu bilinmiyor. Aynı kalite standardı uygulanıyor
    • Duygusal bağlılık olmadan nesnel inceleme yapılabiliyor
  • Yapay zekanın yazdığı koda karşı duygusal bağlılığın azalması, daha nesnel incelemeyi mümkün kılıyor

Slack tetiklemeli agent ve iş otomasyonu denemeleri

  • Cursor ile Slack bağlantılı bir agent pilot olarak denendi: basit iş mantığı değişikliklerinde başarılı oldu, karmaşık CSS yerleşimlerinde ise başarısız kaldı
  • Şu anda özel NPM paketlerini desteklememe, imzasız commit’ler, resmi takip mekanizmalarını baypas etme gibi sınırlamalar bulunuyor
  • Yine de gelecekte agent’ların gece saatlerinde basit ve tekrar eden ticket’ları çözebileceği bir senaryo heyecan verici görülüyor

Maliyet ve ROI

  • Claude Code kullanım maliyeti, şirketin mühendise ödediği ücret içinde kayda değer bir kalem
  • Buna karşın bu yatırımın üretkenlik getirisi var
    • Özellik yayınlama hızı 2-3 kat artıyor
    • Birden fazla geliştirme akışı aynı anda yönetilebiliyor
    • Tekrarlayan ve boilerplate kodu elde yazma ihtiyacı ortadan kalkıyor
  • Yapay zekaya geçişin ilk döneminde senior mühendis başına aylık $1000-1500 bütçe gerekebiliyor; beceri arttıkça maliyet verimliliğinin iyileşmesi bekleniyor

Yapay zeka destekli geliştirmenin süregelen sorunları ve sınırları

  • Öğrenme sorunu: Yapay zeka hatalarından ders çıkaramadığı için aynı yanlış anlamaları tekrarlayabiliyor; çözüm, zengin dokümantasyon ve açık talimatların güçlendirilmesi
  • Güven sorunu: Yapay zeka yanlış kodu bile özgüvenle sunabiliyor; bu yüzden özellikle karmaşık durum yönetimi, performans ve güvenlik alanlarında mutlaka doğrulama gerekiyor
  • Bağlam sınırı sorunu: Büyük kod tabanları yapay zekanın bağlam penceresini aştığı için problemi küçük parçalara bölmek ve net bağlam vermek şart

Koddan probleme duygusal geçiş

  • Koda takılı kalmak yerine problem çözme odaklı düşünceye geçiş
  • Hatalı kodu hızla silme, daha nesnel inceleme ve refactoring konusundaki yükün azalması = olumlu değişim
  • Daha iyi yapay zeka araçları çıkarsa bunları hemen değiştirmeye istekli
  • Esas mesele “kodun kendisi” değil, çözülmesi gereken problemin değeri

Mühendis bakış açısından yapay zeka benimseme önerileri

  • 1. Farklı yapay zeka çözümlerinin denenmesine izin verin: Ekiplerin çeşitli araçları bizzat kullanarak pratik yetkinlik kazanması gerekir
  • 2. Yapay zekayı tekrar eden ve basit işlerden başlatarak uygulayın: Hızlı etki görmek mümkün
  • 3. Deneme-yanılma için bütçe ayırın: İlk ayın kaotik geçeceğini kabul etmek gerekir
  • 4. İnceleme sürecini yeniden tasarlayın: Yapay zeka koduna uygun denetimleri güçlendirin
  • 5. Titiz dokümantasyon yapın: Güçlü bağlam üretkenliği katlıyor
  • Yeni yapay zeka iş akışına uyum sağlayan mühendisler, araç kutularına yeni ve çok keskin bir bıçak eklendiğini fark edecek
  • Yapay zeka iş akışını benimseyen mühendisler, birden fazla yapay zeka agent’ını orkestre edip mimari, inceleme ve karmaşık problem çözümüne odaklanan yeni bir role evriliyor

Sıradaki adımınız

  • Küçük ama iyi tanımlanmış tek bir özellik seçin,
  • Yapay zekaya bu özelliği uygulaması için üç şans verin,
  • Ve sonucu, tıpkı junior bir geliştiriciye mentorluk yapıyormuş gibi inceleyin
  • Hepsi bu. Büyük bir değişime ya da süreç dönüşümüne gerek yok
  • Sadece tek bir özellik, üç deneme ve dürüst bir inceleme yeterli
  • Gelecek, yapay zekanın geliştiricilerin yerini alması değil
    • Geliştiricilerin daha hızlı çalışması, daha iyi çözümler geliştirmesi ve en iyi araçları kullanması

Henüz yorum yok.

Henüz yorum yok.