- AI kod araçlarını ilk kullanmaya başladığımda, yarattıkları şaşkınlık ve verimlilikten çok etkilenmiştim
- Özellikle C++ derleme hatalarını analiz etmede yardımcı olmaları adeta sihir gibi geliyordu
- GitHub Copilot ve çeşitli LLM tabanlı editör entegrasyon araçlarını kullandıkça bu araçlar geliştirme iş akışımın bir parçası haline geldi
- Ancak 2024'ün sonlarında, kod editörümdeki tüm LLM entegrasyon özelliklerini kaldırdım
- Hâlâ ara sıra AI kullanıyorum, ancak artık ana iş akışımın bir parçası değil
Tesla FSD ile benzer bir deneyim
- 2019 ile 2021 arasında Tesla kullanırken FSD'yi sıkça kullandım
- Otoyolda FSD kullandıkça sürüşe verdiğim dikkat giderek azaldı
- FSD'ye bağımlılık, kendi başıma araç kullanma becerimi zayıflattı
- Sonrasında normal bir araçla tekrar sürüş yaparken odağımı geri kazanmam zaman aldı
AI kod editörleriyle deneyimim
- AI araçlarını ne kadar çok kullandıysam, çalışma hızım o kadar arttı ama temel becerilerim o kadar zayıfladı
- Yan projelerde AI araçlarını kullanamayınca rahatsızlık hissettim ve özgüvenim düştü
- Fonksiyon tanımlama, test kodu yazma gibi temel işlerde zorlandığımı fark ettim
- AI'ye bağımlı hale geldikçe, uygulama kararlarını kendi başıma vermekte kendime olan güvenimi kaybettim
- Sonunda özellikle karmaşık işlerde becerilerimin gerilediğini açıkça hissettim
Sezgisel hissin kaybı
- Almanca
Fingerspitzengefühl, uzman kişilerin sahip olduğu sezgisel muhakeme gücünü ifade eder
- Kod yazarken de, bir dil ve framework'e alıştıkça gelişen bu tür bir his oluşur
- Pointer kullanımı, standart kütüphane seçimi,
assert kullanımı gibi ayrıntılı teknik tercihlerde bu his önemlidir
- AI araçları bu hissi zayıflatır
- Kodun kalitesi ve bakım yapılabilirliği söz konusu olduğunda insan sezgisi son derece önemlidir
AI araçları olmadan da geliştirme yapmak mümkün
- AI araçları olmadan çalışamayacağınız korkusu abartılıdır
- Gerçekte AI, büyük ölçekli projelerde veya legacy sistemlerde o kadar da faydalı değildir
- Şirket içi araçlar, framework'ler ve dahili DSL kullanan projelerde LLM'ler pek yardımcı olmaz
- Güvenlik odaklı kodlar (
JWT, RBAC vb.) AI'ye emanet edilmemelidir
- Güvenlik, doğrudan anlayıp sorumluluğunu üstlenmeniz gereken bir alandır
- Eğer AI kod yazmaktan PR incelemesine ve deploy sürecine kadar her şeyi üstlenirse, güvenlik sorunları hızla artacaktır
AI kullanımında sınır koymak
- AI yararlıdır, ancak editöre entegre biçimde kullanmaktan kaçınıyorum
- Bağlamı kendim giriyor, yalnızca ihtiyaç duyduğum kodu alıp elle uyguluyorum
- Örnek: test dönüştürme, SIMD hesaplamalarını dönüştürme, sıkıştırılmış veriyi decode etme
- Bu yaklaşım, koda karşı sorumluluk hissetmenizi sağlar ve maliyeti de düşürür
- Öğrenme amacıyla AI kullanmak faydalıdır: assembly kodu, shader'lar, ağ kodu gibi konularda açıklama istemek özellikle yararlıdır
- Kişisel blogumda AI üretimi içerik kullanmıyorum; insan üretimi içerikleri tercih ediyorum
Sevdiğiniz işi sürdürmek
- Verimlilik ve üretkenliğin ötesinde, "sevdiğiniz işi" sürdürmek de önemlidir
- Satrançta AI daha güçlü olsa da insanların oyunu keyif için sürdürmesi gibi, programlama da keyif alındığı için sürdürülebilir
- Sadece daha iyi olmak değil, gerçekten sevdiğiniz için programlamayı sürdürmek önemlidir
Yeni geliştiricilere tavsiye
- AI'ye bağımlı bir "ebedi junior" olmayın
- Kodu bizzat yazma becerinizi geliştirin ve sistemlerin nasıl çalıştığını derinlemesine anlayın
- Kaputun altında neler döndüğünü öğrenerek becerinizi geliştirmeniz önemlidir
- AI sadece bir araçtır; tek başına eksiksiz bir çözüm değildir
- Bazen AI olmadan çalışmayı da pratik etmeniz gerekir
- Sadece "vibe coding" ile yetkin bir geliştirici olunmaz
- AI olmadan kod yazamıyorsanız, gerçekten kod yazmıyorsunuz demektir
Sonuç
- AI, hız uğruna bilgiden fedakârlık etmektir
- Bazen bu takas değerli olabilir, ancak temel becerileri geliştirmek şarttır
- Yetkin geliştiriciler temel becerilerini tekrar tekrar çalışır
- AI'nin işleri tamamen ikame etmesine daha çok var; şirketlerin önemli bir kısmı yatırım çekmek için FOMO yaratmaya çalışıyor
- AI sadece bir araçtır, düşünmenin yerine geçen bir şey değildir
- Her zaman merakınızı korumak ve öğrenmeye devam etmek önemlidir
16 yorum
Bilgisayar icat edildiğinden beri, yetkin bir geliştiricinin temel becerilerinin değişmediği söylenmez mi?
Ben de kodlama testi hazırlığı yaparken alışkanlıkla Cursor’u açıp duruyordum; yazı yazmaktan çok Tab’a basar hale gelince... haha. İyi niyetle tekrar VSCode’a döndüm.
AI araçları yapanların da bu sorunu bildiğini düşünüyorum. Sadece üstünü örtüyorlar.
Yapay zekaya bilinçsizce bağımlı hale gelirseniz, mimariyi de bilmeden tek satır kod yazamazken sadece astlarına iş yaptıran, koda içkin risklerin de farkında olmayan ve sorun çıktığında çözüm yolunu bulamayan beceriksiz bir yöneticiyle kavramsal olarak tamamen aynı hale gelebilirsiniz. Sadece kullanılan araç insan zekasından yapay zekaya dönüşmüş olur.
Angarya kodlama için bundan iyisi yok ama...
Genel olarak katılıyorum. Henüz böyle bir sezginin gerekli olduğu alanlar olduğunu düşünüyorum ve farkında olmakla olmamak arasındaki farkın epey büyük olduğunu düşünüyorum. Araç olarak kullanılabilir, ama bence yeterince bilinçli olmak da gerekir.
AI kod editörü kullanma deneyimi, sezgisel hissin kaybı ve yeni geliştiricilere verilen tavsiyeler; bu üç noktaya gerçekten çok katılıyorum.
Bilgisayar da kullanmayalım o zaman, ne diye uğraşıyoruz ki..
Hahaha, aynen katılıyorum.
Hahahahahahahahaha
2025 versiyonu "Müdür Kim" illüzyonunu kullanmayın... mı acaba h
Yazıdan anladığım kadarıyla mesele bunu angarya işlerde kullanmamak değil; düşünmeyi yapay zekaya havale etmemek gerektiği söyleniyor gibi görünüyor.
Haha +1, katılıyorum.
Giderek... kasıtlı pratik gerektiren durumlar geliyor... :)
???: "putty ve vi kullanmaya devam edin"
Hacker News görüşü
İki tür beceri olduğuna inanıyor: bağımsız beceriler ve temel beceriler
Artık Cursor gibi editör düzeyindeki AI araçlarını kullanmıyor, bunun yerine satır içi metin tamamlama ve sohbet ile sorunları çözüyor
Kodlamanın çoğunu elle yapıyor, ancak araştırmasını zenginleştirmek için LLM'leri anlamsal aramada kullanıyor
Kod tamamlamayı devre dışı bırakmış; önerileri okumak zihinsel yük yaratıyor
Nicholas Carr'ın kitabı, otomasyona ne kadar çok güvenilirse becerilerin o kadar aşındığı dinamiği açıklıyor
"Her geliştirici neden Assembly öğrenmeli" gibi yazılara benziyor
Yalnızca Rider ile gelen satır tamamlama AI'sını kullanıyor
AI araçları hayatı daha konforlu hâle getiriyor
Beceri kaybı iki yönlü işliyor
Belirli bir sorunu ararken Google araması yerine bunu kullanıyor