Yapay zeka sizi gereksinim analisti olmaya zorluyor.
Zamanla gereksinimleri ne kadar net ifade etmeniz gerektiğini anlıyorsunuz, çünkü yapay zekanın ürettiği çıktılar her zaman beklentilerinizle örtüşmüyor.
Bu noktada kendinize şu soruyu sormaya başlıyorsunuz: “Ben ne istediğimi nasıl daha iyi anlatabilirim?”
Bu soru sizi daha detaylı, daha sistematik ve daha analitik düşünmeye zorluyor.
Eskiden yazılımcıların gereksinim analizi konusunda ciddi eksikleri vardı. Büyük projelerde genellikle bir Requirements Engineer bulunurdu. Gereksinimler bu uzmanlar tarafından analiz edilir, detaylandırılır ve yazılımcılara hazır iş paketleri olarak sunulurdu.
Yani yazılımcılardan gereksinimleri keşfetmeleri değil, kendilerine verilen gereksinimleri implemente etmeleri beklenirdi.
Şimdi ise durum değişiyor.
Yapay zeka ile çalışan bir yazılımcı, öncelikle bir Requirements Engineer olmak zorunda.
Ne istediğini, neden istediğini, sistemin nasıl davranması gerektiğini ve hangi koşullarda ne yapacağını tarif edebilmesi gerekiyor.
Ardından bir Software Architect oluyor. Sistemin mimarisini, bileşenlerini, aralarındaki ilişkileri ve teknik sınırları belirliyor.
Sonra bir Test Engineer oluyor. Ortaya çıkan ürünün gereksinimleri karşılayıp karşılamadığını, beklenen davranışları sergileyip sergilemediğini doğruluyor.
Akabinde bir Release Engineer oluyor. Ürünün sürümlenmesini, paketlenmesini ve dağıtıma hazırlanmasını yönetiyor.
Son olarak bir DevOps Engineer oluyor. Ürünü canlıya alıyor, çalışmasını izliyor ve operasyonel sürekliliğini sağlıyor.
Dikkat ederseniz bütün bu süreçte yazılımcının kod yazmasından neredeyse hiç bahsetmedim, çünkü kodu artık büyük ölçüde yapay zeka yazıyor.
Ancak yapay zekanın neyi, nasıl ve neden yapacağını belirleyen kişi hala yazılımcı.
Eskiden yazılımcı, yazılım geliştirme sürecinin bir halkasıydı. Şimdi ise bütün zinciri yönetmek zorunda.
Artık yalnızca kod yazmayı bilmek yeterli değil. Yazılım mühendisliğinin tamamını anlamak gerekiyor.
Bu sebeple eskiden sadece kod yazan ama başka bir şeye karışmak istemeyen yazılımcıların kariyeri noktalanmıştır. Buna karşın interdisiplin çalışabilen mühendislere ihtiyaç daha da artacak.
Eğer kendinize yapay zeka çağında gelişmelere nasıl adapte edebilirim sorusunu soruyorsanız bu yazıda geçen mühendislik alanlarına naçizane odakllanmanızı tavsiye ederdim. Ya tüm zincire hakimsiniz ya da oyun dışı kalırsınız.
Artık yazılım mühendisliğini gerçek anlamda bir bütün olarak yaşabileceğimiz bir safhaya geldik. Bu çok güzel bir haber, lakin bu her mühendislik alanında derinleşmeye gerektiriyor. Bunu zaten yıllarca yapmış olan senior developer’lar 10-0 öndeler.