Yapay zeka yazılımcıların yerini alacak mı? Benim günlük operasyon işlerimde gördüğüme ve Copilot ile ChatGPT gibi araçları kullanan ekiplerden çıkan gerçek rakamlara bakılırsa — hayır, manşetlerin iddia ettiği şekilde değil. Ama manzara hızla değişiyor ve yapay zeka araçlarını görmezden gelen geliştiriciler kendilerini ciddi bir dezavantaja atıyor.
Günlerimin çoğunu terminallerde geçiririm, üretim kodu yazarak değil. Ama geliştirici ekipleriyle yakın çalışıyorum, bol bol script yazıyorum ve yapay zeka asistanlarını sağlam bir görüşe sahip olacak kadar uzun süredir kullanıyorum. Gerçekte ne olup bittiğini, karamsarlık saçan manşetlerin size inandırmak istediği şeyle karşılaştıralım.
Yapay Zeka ve Yazılımcı İşleri Hakkında Gerçek Veriler Ne Diyor?
Duygularla değil rakamlarla başlayalım. GitHub'ın kendi Copilot araştırması, geliştiricilerin görevleri yaklaşık %55 daha hızlı tamamladığını gösterdi. Bu önemli bir rakam. Ama kimsenin bahsetmediği kısım şu: bu hızlanma tekrarlayan, kalıp kod işlerinde en yüksekti. Karmaşık mantık, uç durumların debug edilmesi veya mimari kararlar söz konusu olduğunda iyileşme neredeyse yok denecek kadar azaldı.
Purdue Üniversitesi'nin 2023'teki bir çalışması, ChatGPT'in Stack Overflow tarzı sorularda cevapların yaklaşık %52'sini yanlış verdiğini buldu. Daha da önemlisi, bu yanlış cevapları inceleyen insanlar çoğu zaman onları özgüvenle kabul etti. Asıl tehlike bu — işlerin elinden gitmesi değil, sessizce kalitenin aşınması.
Bureau of Labor Statistics hala yazılımcı rollerinin 2022'den 2032'ye kadar %25 büyüyeceğini öngörüyor, bu neredeyse tüm mesleklerden daha hızlı. Şirketler yapay zeka yüzünden geliştirici ekiplerini küçültmüyor. Aynı ekiplerden daha fazlasını teslim etmelerini istiyorlar.
Operasyon İş Akışımda Yapay Zekayı Gerçekte Nasıl Kullanıyorum?
Yapay zeka araçlarından korkmuyorum. Her gün kullanıyorum. Ama bir kıdemli mühendisin junior bir geliştiriciyi kullanması gibi kullanıyorum — angarya işler için, ama mutlaka review'dan geçirerek.
Yapay zekanın bana gerçekten zaman kazandırdığı yerler şunlar:
- Tekrarlayan sunucu kurulum görevleri için kalıp
bashscriptleri üretmek - Doğru yazmam 20 dakikamı alacak regex patternleri yazmak
Dockerfileveyadocker-compose.ymlyapılandırmalarının ilk taslaklarını hazırlamak- Çok dokunmadığım bir dilde çalışırken tanımadığım hata mesajlarını açıklamak
- Prometheus veya Zabbix için hızlı monitoring check şablonları oluşturmak
Asla yapmadığım şey, yapay zeka çıktısını doğrudan production'a yapıştırmak. Linux sunucu ihlalleri hakkındaki yazımda belirttiğim gibi (https://furkanikkan.com/urun/linux-sunucunuza-sizdiktan-sonra-hacker-larin-ilk-hamlesi-ne-26), ortamınızı mahvetmenin en hızlı yolu tam anlamadığınız bir şeyi çalıştırmaktır. Yapay zeka tarafından üretilen kod için de aynı şey geçerli.
Asıl Tehdit: Yerine Geçmek Değil, Becerilerin Körelmesi
Hem kendim hem de yetişmekte olan junior geliştiriciler için asıl endişelendiğim şey bu. Her scripti yazmak için yapay zekaya yaslandığınızda, sizi değerli kılan zihinsel modelleri inşa etmeyi bırakıyorsunuz. Kafamın içinde başarısız bir rsync işini debug edebilirim çünkü yıllarımı onunla uğraşarak geçirdim. Önce her zaman ChatGPT'ye soran bir geliştirici? Araç makul ama yanlış bir cevap verdiğinde donup kalacak ve bunu yakalayacak temeli olmayacak.
Bu, başarısız yedekler hakkındaki yazımda konuştuğum prensiple aynı. Sessiz başarısızlıklar, gürültülü olanlardan daha kötüdür. Doğru görünen ama ince mantık hataları içeren yapay zeka kodu sessiz bir başarısızlıktır. Derlenir, çalışır, temel testleri geçer — ve sonra Cumartesi sabahı 3'te bozulur.
Hangi Geliştirici Rolleri Gerçekte Risk Altında?
Tüm geliştirici işleri eşit değil. Baskının nerede gerçek olduğu konusunda dürüst olayım:
Yapay zeka tarafından yüksek risk altında olanlar:
- Saf CRUD ve kalıp biletleri yazan junior geliştiriciler
- Piksel mükemmelliğinde bileşen kopyalamaya odaklı frontend rolleri
- Manuel test senaryosu yazan QA rolleri
- Dokümantasyon rolleri (yine de iyi teknik yazıcılar hala nadir ve değerli)
Düşük risk, yüksek etki:
- Derin sistem anlayışı gerektiren DevOps ve SRE rolleri
- Dağıtık sistemler tasarlayan backend mühendisleri
- Saldırı yüzeylerini anlayan güvenlik profesyonelleri
- Sadece kod yazabilen değil, mimari tasarlayabilen herkes
Ben o DevOps/SRE grubundayım. Benim işim zarif algoritmalar yazmak değil. Sistemleri ayakta tutmak, sabah 2'de debug yapmak, bir Kubernetes pod'unun neden sürekli çöktüğünü anlamak ve yedeklerin gerçekten geri yüklendiğinden emin olmak. Yapay zeka oraya daha hızlı ulaşmama yardımcı oluyor ama yargıyı değiştirmiyor.
Geliştiriciler Şu An Gerçekte Ne Yapmalı?
Yapay zeka konusunda endişeli bir geliştiriciyseniz, operasyon tarafından pragmatik tavsiyem şu:
- Yapay zeka araçlarını iyi kullanmayı öğrenin. Copilot ile onsuz olduğundan daha hızlı olmak bir rekabet avantajıdır, zayıflık değil.
- Temellere yüklenin. Ağ, işletim sistemleri, güvenlik, dağıtık sistemler — yapay zekanın zorlandığı katmanlar bunlar çünkü bağlam ve ödünleşim (trade-off) düşüncesi gerektiriyorlar.
- Review becerilerinizi geliştirin. Yapay zeka tarafından üretilen koda bakıp hatayı tespit edebilme yeteneği, o kodu sıfırdan yazma yeteneğinden daha değerli.
- Production'a yaklaşın. Dağıtım, izleme ve olay müdahalesini anlayan geliştiriciler, sadece özellik yazanlardan daha zor değiştirilir.
- Yerine geçilmeyi bırakın, alaka kazanmayı düşünün. Yapay zekayı iyi kullanan geliştirici, kullanmayanı geçecek. Yapay zekanın kendisi doğrudan ikisini de geçmeyecek.
Sahadan Net Mesaj
Production sistemlerini yönetiyorum ve her birkaç yılda bir işleri ortadan kaldıracağı söylenen bir şeyin geldiğini bilecek kadar uzun süredir bu işi yapıyorum. Cloud sysadmin'leri öldürecekti. Öldürmedi — işi değiştirdi. Kubernetes operasyonları gereksiz kılacaktı. Kılmadı — operasyonları daha zor ve daha değerli yaptı.
Yapay zeka da aynı örüntü. Güçlü bir araç. Verimlilik matematiğini değiştiriyor. Değerin nerede durduğunu kaydırıyor. Ama yazılım geliştirme, editöre kod yazmak değildir. Sorunları anlamak, ödünleşimler yapmak, başarısızlığı yönetmek ve gerçek kullanıcıların bağımlı olduğu sistemleri kurmaktır.
Yapay zekayı junior bir asistan olarak gören geliştiriciler — angarya işler için faydalı, ama review'suz asla güvenilmeyen — iyi olacaklar. Onu tamamen görmezden gelenler veya körü körüne güvenenler endişelenmesi gerekenler.
Production'da gerçekten kullandığım Linux terminal komutları hakkındaki yazımda söylediğim gibi (https://furkanikkan.com/urun/production-ortaminda-gercekten-kullandigim-15-linux-terminal-komutu-25), araçlarınızın kaputun altında ne yaptığını gerçekten bilmenin yeri yok. Yapay zeka da sadece bir araç. Öğrenin, kullanın ama yargınızı ona devretmeyin.
Saha görüşü bu. Abartı yok, karamsarlık yok. 2024'te sistem kurmanın ve yönetmenin dağınık gerçekliği bu.
Kapak görseli: comedy_nose · PDM (Openverse / kamu malı) · https://www.flickr.com/photos/23408922@N07/7847373410
