Yazılım mühendisliği öldü. Teknoloji Twitter'ındaki en gürültülü seslerin size inandırmak istediği şey bu. Tek bir paragraflık prompt ile tam uygulamalar ayağa kaldıran yapay zeka araçlarının ekran kayıtlarını paylaşıyorlar ve neden hala bir insanın kod yazması için para ödenmesi gerektiğini soruyorlar. Panik anlaşılabilir bir durum, ancak asıl noktayı tamamen kaçırıyor.
Yapay zeka mühendislerin peşinde değil. Yapay zeka, yazma hızını teknik muhakeme ile karıştıran herkesin peşinde. Kod yazmak ile mühendislik arasında devasa bir fark var ve tüm meslek bu boşlukta yaşıyor.
Bir yapay zeka asistanı, siz kahvenizden bir yudum bile almadan bir özelliği uygulamanız için size beş farklı yol sunabilir. Darboğaz değişti. Artık nasıl başlayacağımızı düşünerek boş bir dosyaya bakmıyoruz. Gerçek trafik geldiği anda hangisinin çökmeyeceğini merak ederek beş makul çözüme bakıyoruz. Bu karar verme süreci mühendisliktir. Geri kalan her şey sadece sözdizimidir (syntax).
Demo Ürün Değildir
Herhangi bir yapay zeka kodlama demosunu izleyin ve dakikalar içinde bir araya gelen güzel bir arayüz göreceksiniz. Göremeyeceğiniz şey ise, yük altında tükenen veritabanı bağlantı havuzu (connection pool) olacaktır. Bir API uç noktasındaki (endpoint) eksik hız sınırlarını (rate limits), denetim günlüklerinin (audit logs) yokluğunu veya yapay zekanın durumu (state) boşaltmak için uygun bir yer olduğunu düşünerek her kullanıcı etkileşimini bir nesne kovasına (object bucket) kaydetmesinin getireceği depolama maliyetlerini göremeyeceksiniz.
Üretim sistemleri ölçeklenebilirlik, güvenlik, performans ve maliyet kontrolü gerektirir. Bu nitelikler bir sprint incelemesinde (sprint review) görünmezler. Kendilerini ancak gerçek kullanıcılar öngörülemeyen davranışları, uç durumları (edge cases) ve düğmelere beklediğiniz sırayla tıklamayı reddetmeleriyle geldiğinde gösterirler. QA aşamasında yeşil görünen ancak lansmandan bir hafta sonra pahalı derslere dönüşen çok fazla yapay zeka destekli proje izledim.
Çalışan kod ucuzladı. İyi mühendislik ise öyle değil.
Şimdi Önemli Olan Nedir
Bu değişimde başarılı olan mühendisler en hızlı yazanlar değil; tek bir satır üretilmeden önce hangi soruların sorulması gerektiğini bilenlerdir.
Sorunları net bir şekilde tanımlarlar. Eğer izin verirseniz, bir yapay zeka modeli yanlış sorunu memnuniyetle çözecektir. Sadece altı iç analist tarafından kullanılan, okuma ağırlıklı bir panel için karmaşık bir önbellekleme katmanı (caching layer) inşa edecektir. Gerçek sorunun eksik bir veritabanı indeksi mi yoksa temelden bozuk bir veri modeli mi olduğunu sormak için durmayacaktır. Yetenekli bir mühendis, çözüm ister kod içersin ister içermesin, çözüm bariz hale gelene kadar sorunu yeniden çerçevelendirir.
Büyük sistemleri küçük parçalara bölerler. Yapay zeka yerel bağlamda (local context) mükemmeldir. Tek bir fonksiyon, tek bir bileşen veya tek bir test yazabilir. Tüm dağıtık bir mimariyi zihninde tutmakta zorlanır. Bir monolit yapıyı ayrıştırabilen, servisler etrafında sınırlar çizebilen ve ekipler arasında sözleşmeler (contracts) tanımlayabilen mühendisler, üretilen kod parçacıklarını sürdürülebilir sistemlere dönüştürenlerdir.
Yapay zeka önerilerini sorgularlar. Modelin özgüveni bir seraptır. Ağ gecikmesini (network latency) göz ardı eden mimariler önerebilir, yıllar önce kullanımdan kaldırılmış (deprecated) kütüphaneler tavsiye edebilir veya gereksinimlerde aslında var olmayan özellikleri çözmeye çalışabilir.
