Biraz yazilimdaki kültür degisiminden bahsedlim mi?
Ben eski programci günlerimden iyi hatirliyorum. “Ben kod yazarim. Gereksinimleri baskalari yapsin. Testleri QA ekibi halleder, ben testci degilim. Dokümentasyonu baskalari yapar” diyen bircok insanla birlikte calistim.
Nereden nereye? Simdi ne yapiyorlar acaba?
Eskiden, benim cok tasvip etmedigim bir görev dagilimi vardi. Bu yazilimda silolasmayi beraberinde getirdi ve silolar arasindaki iletisimi saglamak icin bürokrasiyi artirdi. Ben bunu kulaktan kulaga oyununa benzetiyorum. Müsteri birsey istiyor, birisi bunu birisinin kulagina fisildiyor, o baska birinin kulagina derken, fisiltilar en sonunda isi yapacak olan programcilarin kulagina kadar geliyor. Artik gerekli bilginin ne kadar kisminin programci ekbine ulastigini siz düsünün.
Ben sadece kod yazarim diyen programci devri bitmistir. Bir LLM saniyeler icinde binlerce satir kod olusturabilir, test yazabilr, dokümentasyon ve gereksinim analizi yapabilir.
Bunlarin hepsini yapay zeka yapabiliyorsa, yazilimci icin ne kaliyor? O eskiden algoritmalar, tasarim sablonlari, cevik yazilim, clean code, microservice diyerek kendinden gecerken, simdilerde hangi alanlarda kendisini ve yeteneklerini gösterebilir? Kendisine yeni bir faaliyet alani bulmasi gerekiyor.
Geriye ne kaliyor sorusuna verilebilecek en iyi cevap:
En önemli sey -> Gerensinim analizi
Cünkü yapay zeke yanlis problem icin mükemmel bir cözüm gelistirebilir. Önemli olan ona dogru problemi aktarabilmektir.
Yazilimcinin isini yapabilmesi icin kendisine sormasi gereken soru degisti.
Eskiden: Bunu nasil implemente edecegiz?
Simdi: Tam olarak ne yapmak istiyoruz? Hedefimiz ne?
Artik yazlimci zamanini kod yazarak ya da okuyarak gecirmiyor. Daha ziyade alani anlamak, gereksinimleri toplamak ve analiz etmek, sürecleri tasarlamak, kullanici davranislarini kestirmek gibi konular onun ana calisma sahalari haline geliyor
Isin en trajik tarafi da bu zaten. Programcilar yillarca bu soft skilleri göz ardi ettiler. Gözleri koddan baska birsey görmedi. Bu yüzden programcilarin cok büyük bir kismi bu yeni dönem icin gerekli donanima sahip degiller.
Bahsi gecen yeni görevlerde en etkili soft skill iletisim yetisi. Artik en iyi kod yazan degil, gercek dünyayi en iyi sekilde modelleyen kazaniyor.
Buradan cikaracagimiz baska bir sonuc daha olabilir. Gereksinim analizi aslinda ögrenilmesi gereken bir sonraki programlama dili.
Yazilim artik implementasyondan spesifikasyona dönüsen bir sürece girdi. Bugün gereksinim analizi benim isin degil diyen, yarin bunun en önemli mevzu olmus olduguna sahit olacak.