Son yıllarda yapay zeka araçları hayatımıza hızla girdi ve iş yapış şekillerimizi kökten değiştirdi. Özellikle yazılım geliştirme, sistem yönetimi ve hatta mimari tasarım gibi alanlarda inanılmaz bir verimlilik artışı sağladı. Ancak benim 20 yıllık tecrübemden gördüğüm bir şey var: bu araçlara aşırı bağımlılık, uzun vadede profesyonel becerilerimizde ciddi bir körelmeye, yani “beceri atrofisi”ne yol açıyor.
En çok AI kullananların en hızlı köreldiği, çünkü AI’ın genellikle nihai çözümü sunması, altta yatan mekanizmaları anlama ve sorun giderme yeteneğimizi sekteye uğratması, benim için net bir gözlem haline geldi. Eskiden saatlerce man sayfalarında veya strace çıktılarında boğuştuğumuz sorunlar için şimdi saniyeler içinde bir “cevap” alabiliyoruz. Ama bu “cevap” her zaman bizi doğru yere götürmüyor, en önemlisi de bizi daha iyi bir mühendis yapmıyor.
Beceri Atrofisi Nedir ve Neden Tehlikelidir?
Beceri atrofisi, bir yeteneğin kullanılmadığı veya aşırı derecede otomatikleştirildiği durumlarda zamanla zayıflaması veya tamamen kaybolmasıdır. AI araçları, özellikle kod yazma, konfigürasyon oluşturma veya hata ayıklama gibi tekrarlayan veya karmaşık görevleri basitleştirerek bu süreci hızlandırıyor. İlk başta bu harika bir verimlilik artışı gibi görünse de, temel problem çözme kaslarımızın zayıflamasına neden oluyor.
Bu durum, özellikle kritik bir üretim sistemi çöktüğünde ve AI’ın “standart çözümleri” işe yaramadığında ortaya çıkıyor. O an, AI’ın verdiği cevabın neden işe yaramadığını anlamak, sorunun kök nedenine inmek ve duruma özel bir çözüm üretmek için o körelen temel becerilere ihtiyacımız oluyor. Örneğin, bir junior geliştiricinin bir Nginx rewrite kuralı için AI’dan aldığı çıktıyı olduğu gibi kullanması, karmaşık bir regex’i veya location bloklarının işleyiş sırasını anlamadan sadece kopyala-yapıştır yapmasına neden oluyor. Kural beklendiği gibi çalışmadığında ise, nginx -t veya access.log’ları manuel olarak incelemek yerine, AI’ya “neden çalışmıyor” diye tekrar sorup başka bir çözüm deniyor. Bu durum, temel ağ veya HTTP protokol bilgilerinin derinleşmesini engelliyor.
Temel Sorun Giderme Yeteneği Nasıl Aşınıyor?
Sistem yönetimi ve ağ mühendisliği gibi alanlarda, sorun giderme yeteneği en kritik becerilerden biridir. Bir servis neden çalışmıyor? Bellek neden sızdırıyor? Bir paket neden hedefine ulaşmıyor? Bu soruların cevapları genellikle derinlemesine bir analiz ve manuel inceleme gerektirir. AI, bu süreçte bize başlangıç noktaları sunabilir, ancak çoğu zaman “black box” bir çözüm verir.
Bir örnek vereyim: Geçen ay bir PostgreSQL 15 sunucumuzda systemd servisi durmadan OOM-killed oluyordu. AI’ya sorduğumda genellikle “bellek ayarlarını yükselt” veya “diskte yer aç” gibi genel tavsiyeler geliyordu. Ancak journalctl -xe çıktısına baktığımda, sorunun aslında cgroup tarafından uygulanan memory.high yumuşak limiti olduğunu gördüm. Servis, tanımlanan limitin üzerine çıktığında kernel tarafından öldürülüyordu. AI, bu spesifik cgroup limitini doğrudan işaret etmedi, çünkü çıktısı genel bir OOM mesajıydı. Eğer journalctl’a hakim olmasaydım, veya cgroup’un memory.high ve memory.max arasındaki farkı bilmeseydim, günlerimi genel bellek ayarlarını kurcalayarak harcayabilirdim. Bu tür durumlar, temel Linux servis yönetimi ve çekirdek seviyesi hata ayıklama becerilerinin ne kadar önemli olduğunu gösteriyor.
# AI'ın ilk vereceği cevaplardan biri:
sudo systemctl restart postgresql
# Sonuç: Yine OOM-killed.
# Manuel debug adımı:
journalctl -u postgresql -xe
# Çıktıda görülebilecek bir satır:
# kernel: cgroup: 'memory.high' limit reached for /system.slice/postgresql.service
# Bu, AI'ın doğrudan veremeyeceği kadar spesifik bir kök neden.
Yazılım Mimarisi ve Optimizasyon Kararları AI ile Nasıl Bozuluyor?
Yazılım mimarisi, sadece kod yazmak değil, aynı zamanda sistemin bütünü hakkında stratejik kararlar almaktır. Monolith mi microservice mi? Event-sourcing mi CQRS mi? Idempotency nasıl sağlanır? Bunlar, AI’ın size “en popüler” veya “en basit” çözümü sunabileceği ama sizin projenizin bağlamına uygun olmayabilecek kararlardır.
Bir üretim ERP’si üzerinde çalışırken, bazen PostgreSQL’de yavaş çalışan bir rapor için AI’dan SQL optimizasyon önerileri alırdım. AI, genellikle JOIN’leri basitleştirme veya INDEX ekleme gibi genel öneriler sunuyordu. Ancak gerçek sorun, ORM’in N+1 sorgu problemi yaratmasıydı, yani her parent kaydı için ayrı ayrı çocuk kayıtlarını çekiyordu. Ya da daha kötüsü, EXPLAIN ANALYZE çıktısında görünen, planner’ın yanlış bir index seçimi yapmasıydı. AI, bu derinlemesine query planner davranışını veya ORM’in eager-load patlamalarını kolayca tespit edemiyor. Bu, geliştiricinin SQL’e, ORM’in iç işleyişine ve veritabanı optimizasyon tekniklerine hakim olmasını gerektiren bir durum. AI’ın sunduğu basit çözümler, bu temel anlayışı edinmemizi engellerse, daha büyük performans sorunlarına davetiye çıkarmış oluruz.
Güvenlik Alanında Otomasyonun Karanlık Yüzü
Sistem güvenliği, sürekli değişen tehdit ortamı ve karmaşık yapılarıyla, AI’ın hem en çok yardımcı olabileceği hem de en çok tehlike yaratabileceği alanlardan biri. AI, güvenlik politikaları oluşturmada veya temel güvenlik kontrolleri önermede yardımcı olabilir, ancak gerçek bir saldırıyı anlamak ve manuel olarak karşı koymak başka bir seviyedir.
Örneğin, bir sunucuda fail2ban konfigürasyonu için AI’dan yardım alabilirsiniz. Size sshd veya nginx için temel bir regex verecektir. Ama ya saldırgan daha sofistike yöntemler kullanıyorsa? CVE-2026-31431 gibi kernel modülü zafiyetlerini hedefleyen bir saldırıda, algif_aead modülünü kara listeye almak veya auditd ile spesifik sistem çağrılarını izlemek gibi derinlemesine önlemler gerekir. AI, bu tür özel kernel hardening veya audit subsystem kurallarını, siz ona tam olarak ne aradığınızı söylemeden üretemez. Geçen ay bir müşteri projesinde, SQL injection mitigation için AI’dan aldığım bir FastAPI dekoratörü yeterli gelmedi. Saldırgan, SQL injection’ı URL encoding ile gizleyerek ve UNION SELECT yerine subquery’ler kullanarak bypass etmeye çalıştı. AI’ın önerdiği basit input validation yetersiz kaldı; bu durumda, prepared statements ve least privilege prensiplerini manuel olarak uygulamak, WAF katmanında daha agresif kurallar tanımlamak gerekti. Bu, güvenlik alanında “neden” sorusunu sormadan sadece “nasıl” sorusuna odaklanmanın tehlikelerini açıkça gösteriyor.
Öğrenme Sürecimizi Nasıl Optimize Edebiliriz?
AI çağında beceri atrofisinin önüne geçmek için aktif ve bilinçli bir öğrenme yaklaşımı benimsemek zorundayız. AI’ı bir öğretmen, bir akıl hocası gibi kullanmalı, bir çözüm sağlayıcı olarak görmemeliyiz. Benim kendi yan ürünlerimden birinde (Android spam uygulamamda) karşılaştığım performans sorunlarını çözmek için AI’ı sadece Flutter native bridging için gerekli Kotlin kodunu anlamak veya Play Store yayınlama sürecindeki metadata reject hatalarını yorumlamak amacıyla kullandım. Ancak asıl profiling ve native paket entegrasyon sorunlarını kendim çözdüm, çünkü AI’ın verdiği genel cevaplar yetersiz kalıyordu.
İşte bu tuzağa düşmeden öğrenme sürecimizi optimize etmek için birkaç önerim:
- AI’ı Açıklayıcı Olarak Kullanın: Bir kod parçacığı veya konfigürasyon gördüğünüzde, AI’dan bunu açıklamasını isteyin. “Bu
systemd unit’indekiType=forkingne anlama geliyor ve neden önemlidir?” gibi sorular sorun. - Doğrulama ve Deney: AI’ın verdiği her çıktıyı test edin ve kendi sisteminizde deneyin.
PostgreSQL’de birindexönerdiğinde,EXPLAIN ANALYZEile gerçekten performans iyileştirmesi sağlayıp sağlamadığını kontrol edin. - Temel Bilgilere Dönün: Bir konuyu anlamakta zorlandığınızda, AI’dan ziyade resmi dokümantasyonlara (Linux
mansayfaları, RFC’ler, açık kaynak projelerin belgeleri) dönün. Örneğin,BGP routing decisionskonusunda AI size genel bir özet verebilir, ancak RFC 4271’i okumak, protokolün derinliğini anlamanızı sağlar. - Tersine Mühendislik Yapın: AI’ın ürettiği bir kodu veya konfigürasyonu alın ve neden böyle çalıştığını anlamaya çalışın. Her satırın, her parametrenin amacını sorgulayın.
- Manuel Çözüm Yolları Arayın: Bir sorunla karşılaştığınızda, önce AI’ya sormadan kendiniz çözmeye çalışın. Bu, problem çözme kaslarınızı güçlendirecektir. Ancak takılırsanız, AI’ı bir ipucu almak için kullanın.
Pragmatik Bir Yaklaşım: AI’ı Bir Araç Olarak Konumlandırmak
AI’ı tamamen reddetmek günümüz dünyasında mantıksız olur. Bu, elektrikli testere varken balta kullanmaya ısrar etmek gibidir. Önemli olan, AI’ı ne zaman ve nasıl kullanacağımızı bilmektir. Benim felsefem, AI’ı hızlandırıcı bir araç olarak konumlandırmak, ama temel yetkinliklerimi korumak ve geliştirmek için sürekli çaba göstermektir.
Bir yan ürünümün finansal hesaplayıcılarında, AI’ı karmaşık matematiksel formülleri hızlıca doğrulamak veya prompt engineering ile kullanıcı girdilerini daha iyi anlamak için kullanıyorum. Ancak çekirdek iş mantığını, hesaplama algoritmalarını ve veri bütünlüğünü sağlayan idempotency kontrollerini kendim yazıyorum. Gemini Flash, Groq, Cerebras gibi farklı provider’ları kullanarak multi-provider fallback mimarisi kurarken, LLM’lerin kendilerini hızlandırıcı olarak kullanıyorum, ancak bu fallback mantığını ve rate limiting mekanizmalarını manuel olarak tasarlıyorum ve test ediyorum. Bu bana hem hız kazandırıyor hem de sistemin kritik parçaları üzerindeki kontrolümü kaybetmememi sağlıyor.
Kariyerimde, PostgreSQL WAL bloat sorunlarını çözerken, Redis OOM eviction policy seçimlerini yaparken veya Nginx reverse proxy konfigürasyonlarını ayarlarken AI’dan alacağım genel bir cevap beni sadece o an kurtarırdı. Ancak bu sorunların derinlemesine nedenlerini anlamak, connection pool tuning yapmak, replikasyon stratejileri belirlemek veya L4 vs L7 load balancing tercihlerini bilinçli yapmak, beni gerçek bir mühendis yaptı. Bu, AI’ın her şeyi çözemeyeceği ve bizim mühendislik kaslarımızı sürekli çalıştırmamız gerektiği anlamına geliyor.
Sonuç: Kendi Kasanıza Yatırım Yapın
AI, şüphesiz işlerimizi kolaylaştırıyor ve verimliliği artırıyor. Ancak bu kolaylık, beraberinde “beceri atrofisi” gibi sinsi bir tehlikeyi de getiriyor. Benim 20 yıllık deneyimimden çıkardığım ders şu: teknoloji ne kadar ilerlerse ilerlesin, temel mühendislik becerileri, kritik düşünme yeteneği ve sorun çözme kasları her zaman en değerli varlığımız olacak.
Bu tuzağa düşmemek için AI’ı bilinçli bir şekilde kullanmalı, onun sunduğu çözümleri sorgulamalı ve her zaman altta yatan prensipleri anlamaya çalışmalıyız. Kendi teknik kaslarımıza yatırım yapmak, uzun vadede bizi sadece daha iyi mühendisler yapmakla kalmayacak, aynı zamanda AI’ın yetersiz kaldığı anlarda bile sorunları çözebilen, adaptif ve değerli profesyoneller olarak konumlandıracaktır. Aksi takdirde, en çok AI kullananlar, en hızlı körelenler olmaya mahkumdur.