AI, Junior’ların Parlamasına Yardım Edecekti. Neden Asıl Senior’ları Daha Güçlü Hale Getiriyor?

2025-09-21 4 dk

Kodlama işi tamamen yapay zekâya mı kalacak sorusu artık sıkılacağımız kadar soruldu herhalde ve yanıtlanmaya çalışıldı. Bu konuda yeni bir şey söylenebilir mi emin değilim ama kendi gözlemlerimi yazmak istiyorum.

Beklenen desen, seniorlara daha az ihtiyaç duyulacağı ve junior’lar ile kaliteli kod çıkarılabileceği yönündeydi. En azından gördüğüm buydu. Gelinen noktada, belki yapay zekânın yükselen beklentilere de yetişememesiyle görüyoruz ki, aslında şirketlerin ihtiyacı olan şey junior + AI pair’i değil, senior + AI pair’iymiş.

Neden?

AI’nin kodlamada iyi ve kötü olduğu şeylere bakalım.

Önce iyi oldukları:

  • Hızlı boilerplate üretimi / scaffolding
  • Rutinleri otomatikleştirme
  • Çeşitli implementasyonları test edebilme
  • Bunları hızlı geliştirme sayesinde doğrulayabilme
  • Ne yapmak istediğinizi biliyorsanız hayata geçirebilme

Şöyle bakınca, bunlar en çok kimin işine yarar? Elbette senior’ların. Junior’ın elinde bunlar gerçek bir faydaya güçlükle dönüşür, ancak kesinlikle mümkündür.

Bir de iyi gibi göründüğü ama bu amaçla kullanıldığında kötü çıktılar alacağınız, yahut direkt kötü olduğu konular var.

Bunlar:

  • Kod review: Gerçek anlamda muhakeme yapamadığı için kod incelemesi çoğunlukla faydalı olsa da, olamadığı noktalarda bir senior’ın çözeceği problemlerle başbaşa bırakabiliyor. Veriler de gösteriyor ki, AI’nin ürettiği kodlarda edge case problemler çok daha sık yaşanıyor.
  • İyi prompt’larla yönlendirilmeyen geliştirmeler: Kim iyi bir prompt verebilir? Elbette ne yapacağını iyi bilen, yaptığı işe hâkim, yeterince tecrübeli birisi. Tecrübe ve bilgi anlamında bir proje veya özelliğe yetersiz kalan kişiden çıkan bir prompt’la iyiye yakın sonuç elde edilse bile, kontrol yetersizliğinden yine hatalarla uğraşılacak veya teyitsiz kalacaktır.
  • Mimari kararlar: İyi bir mimari olmadan bir yazılımın değeri çok düşüktür. İyi bir mimariyi tasarlamak konusunda bugün AI yetersiz. Aslında değil gibi gelebilir ancak buna hangi pencereden, hangi ölçüyle baktığınız önemli. İyi mimari, gerçek insan reasoning’i ile elde edilebilecek bir sonuç gerektiriyor. Hatalı mimari ile ilerleyen proje veya modülün teknik borcu katlanıyor.
  • Kod kalitesi: Kodun syntactic yapısıyla alakalı veya doğru kod kompartımanlarının kullanılmasına dair kararlar, tasarım desenlerini doğru uygulamak, temiz ve doğru kod pratikleri arasından proje ihtiyaçlarına uygun olanları seçmek konusunda AI kodu yetersiz kalıyor.
  • Güvenlik: Kapısız ev örneğiyle girmek klişe mi olurdu? Ya da kilidi bozuk kapılı ev? Junior + AI bileşimiyle daha fazla ortaya çıkan problem, kod güvenliğidir. Yani kodun exploit edilebilecek açıklara sahip olması. Aslında bu bir sektör sorunu. Yine de, senior’ın farkında olmadığı duruma dair en azından güveni yoktur, umudumuz bu yönde yani. Fakat tecrübesizlikten dolayı farkındalığı yetersiz kalacak birisiyle durum farklı.
  • Yanlış öğrenmek: Kişi teknik yeterlilik bakımından üretilen kodu değerlendirmeye vakıf değilse, AI tarafından üretilen kodun ne denli doğru olduğunu anlayamayabilir. Haliyle şirket içi değer üretmek söz konusu olunca, değer yerine zarar üretiyor da olabilirsiniz.

Bunlar çeşitlendirilebilir. Elbette bazı problemler sadece insan faktörüyle de ortaya çıkabilirdi. Yazımın ana hatlarından biri, aslında yapay zekânın henüz senior developer’lar için bir tehdit olmadığı, belki aksinin mümkün olabileceğidir. Burada junior developerların varlığına bir eleştiri görülmemeli. Tam tersine; onları, büyük beklentilerle, kendilerini de olumsuz etkileyecek riskli geliştirme işlemlerinde yormamak gerekiyor.

Peki AI’yi kodlamada ne için kullanmalıyız?

  • Hızlı prototipleme: Akıldaki yapıyı oluşturup deneyler yapmak için mükemmel.
  • Rutinleri hızlandırma: Bu en önemlisi. Zaten yaptığınız ve ne olduğunu bildiğiniz işleri otomatikleştirmek ve hızlıca ortaya koymak konusunda mükemmel.
  • Birden çok alanda bilgi gerektiren işler: Bilgi boşluklarınızı dolduracak şekilde, teknik veya genel katkılarla çok daha iyi yapacağınız işlerde kullanılmalı. Domain bilgisinin tasarımına etki edebileceği bir component yazmak, teknik anlamda kütüphane içerisinde işinize en çok yarayacak metotları bulmak vb.
  • Fonksiyon testleri yazmak gibi hata yapma ihtimali düşük, hızlıca okuyup teyit edebileceğiniz kadar basit, çokça tekrar içeren işler.

Mevcut gözlemlerime dayalı olarak benim perspektifimden durum bu şekilde. AI’nin yazdığı her satır kodu OKUMAK ZORUNDAYIZ. Mükemmelden çok uzak. Farkındalığı yok. Reasoning’i taklit. Deterministik değil; bu yüzden testler gibi deterministik eklentilere ihtiyaç duyuyoruz ancak…yazdığı kodu kontrol etmek için yazdığı testlere güvenecek misiniz? Aklıma bir tweet’imi getirdi: AI’ın bilmediği şey için bilmiyorum demesini sağladığı söylenen bir prompt vardı. Dedim ki; “if such ai says 'i dont know', you cant be sure it knows that either” yani böyle bir yapay zeka bilmiyorum derse, bilmediğinden de emin olamazsınız.

Elbette AI + Junior ikilisi de düşüreceği maliyetin çekiciliğinden veya yazılımcıların “AI gelince biz gideceğiz” korkusundan tetiklenen bir beklenti olabilir. Yazılım sektörü diğer mesleklerle kıyaslayınca birçok açıdan ileride görünse de aslında geri kalmışlıklar barındırıyor. Tuğla taşıyan mimar görüyor muyuz? Kod yazan her alandan insan görmek mümkün. Dahası, ayrımlarımız bile yeterince spesifik ve meritokratik değil; çokluk ve ucuzluk arayışı hâkim. Bu da sektörel anlamda değer düşürücü, bireyler açısından yorucu ve kısıtlayıcı.

Bu açıdan bakınca, kodlamayı demokratikleştirmesi umuduyla beklentiye sokan AI aslında şu sıralar daha çok kodu belirli uzmanların eline bırakmış durumda. Evdeki hesap çarşıya uymadı gibi duruyor. Geleceği birlikte göreceğiz. AI konusunda ileriye dair çokça umutluyum. Yine de, hızlı gelişmelerle birlikte çarpıklaşan beklentilerimizi belki de en azından kısa vadede yeniden ayarlamalıyız.