- Yapay zeka araçları, junior geliştiricilere yalnızca yüzeysel yetkinlik kazandırıyor; kodu hızlıca üretiyor ama neden o yaklaşımın seçildiğini açıklayamadıkları durumlar sıklaşıyor
- Senior geliştiricilerin asıl değeri kod yazma hızı değil, yıllar süren başarısızlıklardan biriktirdikleri başarısızlık deseni tanıma becerisinde yatıyor
- Yapay zeka kullanılsa bile, hataları doğrudan analiz etme, kodun izini sürme ve hipotez kurma gibi kasıtlı mücadele süreçleri zorunlu
- Commit edilen her kod için kütüphane seçiminin nedeni, kullanılan pattern ve trade-off'ların doğrudan açıklanabilmesi gerekiyor; aksi halde kod production'a hazır değil
- Yapay zekayı basit bir yanıt üreticisi değil, bir tutor olarak kullanıp farklı yaklaşımların artılarını ve eksilerini öğrenmeye geçmek gerekiyor
Sorunun özü: Yapay zekanın ürettiği yüzeysel yetkinlik
- LLM kullanımıyla özellikleri hızla geliştirip dağıtmak mümkün hale geldi, ancak kod seçiminin nedenini açıklayamama durumu ortaya çıkıyor
- Kod review sırasında yaklaşımın nedenini soran sorulara yanıt verememe şeklindeki yüzeysel yetkinlik (shallow competence) olgusu yayılıyor
- Yapay zekanın önerdiği kodu olduğu gibi kabul etme kalıbı tekrar ediyor
- Dışarıdan bakıldığında üretkenlik yüksek görünse de, tasarım niyeti ve trade-off'lara dair anlayış eksik kalıyor
- Bu sorun zamanla güven kaybına yol açabilir
Senior geliştiriciler neden değerli
- Deneyimli geliştiricilerin pahalı olmasının nedeni kodu hızlı yazmaları değil, neyin yapılmaması gerektiğini uzun zaman içinde öğrenmiş olmaları
- Yanlış mimari kararlar verip sonuçlarıyla yaşama deneyimi, gece 2'de incident çağrısı alma deneyimi gibi şeylerden doğan başarısızlık deseni tanıma becerisi, şirketlerin gerçekte para ödediği şey
- Bugün birçok junior geliştirici, yapay zeka kullanımı sürecinde bu aşamayı atlıyor
5 strateji
-
1. Temelleri gerçekten öğrenin
- İyi kodun ne olduğunu bilmeniz gerekir ki yapay zekanın ürettiği sonucu değerlendirebilesiniz; aksi halde yapay zeka çıktısını körü körüne kabul edersiniz
- Önerilen kitaplar: Head First Design Patterns (kodlama pattern'lerini ve neden seçildiklerini anlamak) ve Designing Data-Intensive Applications (veri yoğun sistem tasarımının ilkeleri)
-
2. Arıza vakalarını inceleyin
- Cloudflare, AWS, Azure, Google gibi büyük servislerde yaşanan kesintilerden sonra yayımlanan ayrıntılı post-mortem belgelerinin okunması öneriliyor
- Bu belgelerde neden, kök neden analizi, düzeltme yöntemi ve tekrarını önleme önlemleri yer alıyor
- Amazon'da COE(Correction of Errors), Facebook ve çoğu büyük teknoloji şirketinde de benzer dahili belgeler bulunuyor
- Karmaşık sistemlerin nasıl çöktüğünü anlamak, yalnızca doküman okumaktan çok daha kalıcı bir öğrenme sağlıyor
-
3. Mücadeleyi kasıtlı olarak yaratın
- Yapay zekadan önce, bir sorunu doğrudan çözme süreci bir tercih değil varsayılandı; artık ise 24 saat erişilebilen bir kaçış yolu var
- Hatayı yapay zekaya yapıştırmadan önce önce stack trace'i okuyun, kodun izini sürün, log'ları kontrol edin ve neyin yanlış gittiğine dair hipotez kurun
- Gerçek debugging sezgisi bu süreçte gelişir
- Yapay zeka daha sonra yine kullanılabilir
- On-call'a katılmak ve kimsenin almadığı ticket'ları üstlenmek, sistemin nasıl çalıştığını öğrenmenin en etkili yolu
-
4. Anlamadığınız kodu asla production'a çıkarmayın
- Kod review'da belirli bir yaklaşımı neden seçtiğiniz sorulduğunda "Yapay zeka önerdi" diye yanıt vermek, anında güven kaybettirir
- Sorun yapay zeka kullanmak değil, teslim ettiğiniz kodu anlama çabasını göstermemektir
- Commit ettiğiniz her satır için neden bu kütüphane, neden bu pattern ve trade-off'un ne olduğunu açıklayabilmelisiniz
- Hız düşse bile anlayış önce gelmeli; sadece kopyala-yapıştır yapan biri olarak anılmak geri döndürmesi çok zor bir itibar yaratır
-
5. Cevabı değil, "neden"i prompt edin
- Yapay zekadan yalnızca problemi çözmesini istemek yerine, birden fazla yaklaşımı ve her birinin artılarını-eksilerini açıklamasını isteyin
- Bunun iki etkisi olur:
- Trade-off'lar hakkında gerçekten öğrenirsiniz
- Yapay zeka akıl yürütme sürecine girdiğinde önerinin kendisi de değişebilir, böylece daha iyi bir yanıt elde edilebilir
Hız baskısı hakkında gerçekçi tavsiye: üretkenlik ile öğrenmeyi dengelemek
- Yavaşlarsanız geride kalacağınız endişesi gerçekçi, ancak işi tamamen durdurmanız gerekmiyor
- Boş zamanlarda, yan projelerde, rekabetin az olduğu ticket'larda kasıtlı ve rahatsız edici öğrenme pratiği yapın
- Gerçek beceri inşa ettiğiniz zamanla sadece çıktı ürettiğiniz zamanı bilinçli olarak ayırmanız gerekiyor
Yapay zekayı tutor olarak kullanın
- Önceki geliştirici kuşaklarının sahip olmadığı, istediğiniz derinlikte her şeyi açıklayabilen bir yapay zeka tutorunuz artık var
- Yapay zekaya sadece iş yaptırmayın; açıklama istemek ve size öğretmesini sağlamak için kullanın
- Geliştiricinin değeri kod üretme becerisinde değil, karşısına çıkan herhangi bir kodun iyi olup olmadığını değerlendirebilme yeteneğinde yatar
- Kodun yapay zeka tarafından üretilmiş olup olmamasından bağımsız olarak, iyiyi kötüden ayırabilme becerisi temel yetkinliktir
- Kasıtlı öğrenme ve başarısızlık deneyimi biriktirmek ancak bu şekilde uzun vadeli rekabet gücü oluşturabilir
20 yorum
AI’nin ürettiği metni bile okusaydı bu hale gelmezdi.
Sorun sadece junior olmak değil, sadece kopyala-yapıştır ve tıkla yapan juniorlar.
Aslında bu tipler AI’den önce de vardı.
Sadece Stack Overflow’nun yerini AI aldı.
Yapay zekanın geliştiricilerin yerini gerçekte ne zaman alacağı ya da bunun gerçekten mümkün olup olmadığı henüz belli değil; bu yüzden onu peşinen övmek gerekmiyor gibi görünüyor. Nitekim reddit'te de bir şeyler yapıp kullanıcı almaya başlayan ama kendi hizmetinde neyin riskli olduğunu bile bilmeden yardım isteyen epey gönderi var.
Eskiden el işiyle eşya üretilirken çıraklık düzeniyle insan yetiştirilir, Sanayi Devrimi’nden sonra ise bu basit emeğe dönüştüyse
şimdi de insanlar, konveyör bandından geçen parçalar gibi 4o’dan dökülen koda gözünü dikmiş şekilde sadece ona bakıyor.
Sadece parça kalite kontrolü yapan birine “Bunu neden böyle tasarladın?” diye sorarsanız, 10 yıl çalışsa bile vereceği tek cevap “Makine öyle yaptı” olur.
???: "Ne yapmaman gerektiğini dikkatle düşün"
Hahahaha bu doğru ya hahaha
lol
hahahahaha
Sonunda yapay zekanın muhakeme ve hafıza yetenekleri artarsa bu tartışmaların hepsi anlamsız hale gelecek. Nasıl olsa kıdemlilere de ihtiyaç kalmayacak.
Sonuçta önemli olan, bunu kullanan kişinin nasıl düşündüğü ve nasıl değerlendirdiği gibi görünüyor.
Hiç düşünmeden sadece teslim etmeye dayalı bir ortamın oluşmasıyla farkında olmadan sürüklenip gitme riski de arttı, ancak doğru kullanılırsa öğrenme ve geliştirme süreçlerinin eskisine göre çok daha hızlı ve isabetli ilerleyebildiğini gördüm.
Yine de, öğrenmeye yeni başlayan insanlara anlatması kolay olan mevcut öğrenme ve deneyim yöntemlerinden farklı, yeni bir örnek öğrenme çerçevesi ve yönteminin bir an önce netleşmesi iyi olurdu.
Bence kıdemlilerin şimdiye kadar deneyimlediklerini junior’lar daha hızlı öğrenebilecek gibi görünüyor.
Zaten yazarın söylediği gibi sadece basitçe kopyala-yapıştır yapan junior geliştiriciler, Stack Overflow çağında da işe yaramıyordu.
Sadece AI çağında, Stack Overflow’dan kod kopyala-yapıştır yapma alışkanlığı
AI’nin yanıtlarına taşınmış oldu.
Sonuçta geçmişte gerçekten çalışan junior geliştiriciler varsa,
AI çağında çok daha hızlı bir şekilde senior seviyesinde geliştiricilere dönüşeceklerdir.
Artık alt seviyeye bakmaya gerek yoksa ve yapay zekayla öğrenmenin de hızlı olduğu 'varsayılırsa', 4 yıllık üniversite mezunu Koreli junior geliştiricileri kim pahalıya işe alır ki?
Her derde deva sihirli su gibi görülen AI agent'larla işe alım yapıp, AI ile onboarding yapıp, AI ile çeviri yaparken; gidip Hindistan'dan Rahul Singh'i (24, IIT yüksek lisans) ya da Zhang Wei'yi (26, Tsinghua Üniversitesi birincisi) daha ucuza işe alırlar herhalde.
Özellikle erkekler için, askerliğin iş hayatına atılmayı +2 yıl geciktirdiği düşünülürse, şu anki juniorlar adına gerçekten çok endişeliyim.
Yapay zekayı ağırlıklı olarak kullanırsanız, başarısız olma fırsatınız olmaz; bu yüzden mühendislikle ilgili dersler çıkaramazsınız. Kitaplarda ya da yazılarda ifade edilmemiş şeyleri yapay zeka da telafi edemez.
Yapay zeka da hata yaptığı için, sonunda 'yapay zekayla birlikte başarısız olup birlikte bunun üstesinden gelen' biri olmaz mıyız.
Verdiğiniz yanıta göre, başarısız olan AI ise bunun üstesinden kim gelecek? Üniversite mezunu yeni junior mı?
Kibar ve ölçülü bir yorum bırakıyorum.
Ben de öyle düşünüyorum. Birlikte arayıp birlikte çözüm üretmekten bahsediyoruz. Muhtemelen bunu denememişsinizdir ama sanki bunu fazla kesin bir doğruymuş gibi öne sürmeye çalışıyorsunuz. Ben de elimden geldiğince nazik ve ölçülü bir yorum bırakayım~^^
Sonunda 10 yıl sonra 10 yıllık juniora (AI destekli) dönüşeceğiz.
Yapay zeka modellerinin gelişme hızına bakınca, bugünün junior geliştiricileri senior olduğunda
sanki seniorları da çoktan ikame ediyor olacak gibi görünüyor.
Yani AI'nin, ileride kıdemli olacak junior'ların yerini aldığı söyleniyor. AI yaşasın yaşasın, çok yaşasın.
Kesin doğru cevap bu.
Hacker News görüşleri
Bence bundan sonra AI olmadan öğrenme dönemi şart olacak
Her beceriyi edinmede kilit unsur, ‘ellerinle bizzat yaparak tekrar tekrar pratik etmek’tir
Öğrenme aşamasının “AI olmadan sezgi oluşturma → sınırlarını anlamak için AI’ı kademeli kullanma → AI native uzman” şeklinde gelişeceğini düşünüyorum
Ama bunu büyük ölçekte nasıl uygulayacağımız henüz belirsiz
İşin ironik yanı, AI kişiselleştirilmiş bir eğitmen olarak faydalı ama aynı zamanda uygulamalı çalışmadan kaçmaya teşvik eden bir cazibe de yaratıyor
Mevcut sınav odaklı eğitim sistemi ise tam tersine AI bağımlılığını güçlendiriyor
Bu yüzden ben çıraklık sisteminin yeniden canlanacağını öngörmüştüm ve Microsoft’un preceptorship önerisini bunun bir işareti olarak görüyorum
Büyük şirketlerin sorunu fark edip çözüm önermesi cesaret verici
Bu araçlar nerede hata yaptığımı anlamama yardımcı oldu ama sonuçta asıl mesele elle pratik yapmaktı
Ama bugünkü AI kullanımı sadece teori öğrenmek değil, daha çok işi köleye yaptırmak gibi
Tarihsel olarak böyle bir yaklaşım ustalık üretmedi
Zaten sayısız insan sosyal medya bağımlılığını kontrol edemiyor
Rich Hickey’nin Simple Made Easy konuşması kariyerimi ciddi biçimde etkiledi
AI’nin bir ‘zevki’ yok ve daha fazla kod üretme yönünde çalışıyor
Gerçek mühendislik, daha az kodla en etkili işlevleri üretme sanatıdır
Eskiden de junior geliştiriciler üretkenlikten çok öğrenme için vardı
Bir senior’ın birkaç saatte bitireceği işi bilerek bir haftalık görev olarak vermelerinin sebebi buydu
Şimdi ise şirketler o ‘eğitim maliyetinden’ kaçınmaya çalışıyor
Herkes sadece kısa vadeli çıkarını düşünüp uzun vadeli çöküşe yol açıyor
Junior olmazsa senior da kalmaz, sonunda sektörün kendisi çöker
Maliyet azaltma ve terfi yapısının dengesi için de junior’lara ihtiyaç var
Ama AI ortaya çıktıktan sonra artık mid-level geliştiricilerin bile yerini alma ihtimali var
Kısa vadeli hedefleri tutturmaya çalışanlar açısından “junior eksi üretkenliktir”
Yavaşlığın sebebi yetenek değil, verimsiz organizasyon süreçleri
Öğrencilere hep şunu söylerim — “junior’lar bizzat kod yazmalı”
htmx yazısında olduğu gibi, senior’lar junior’ların kod yazabilmesini sağlamalı
Çünkü senior’lar junior’lardan yetişir
Mantık “senior lazımsa senior işe al” noktasına geldi
Bu da COBOL kuşağının tekrarına dönüşebilir
Senior ile junior arasındaki fark büyüdü ve eliyle uğraşarak öğrenme deneyimi kayboluyor
Benim gibi 30 yıllık geliştiriciler şu anda yüksek sözleşme ücretleri alıyor
Eğer kod yazmak bir sanatsa, sonunda sanatçılar gibi hayatta kalma rekabeti vermemiz gerekebilir
Herkes junior yetiştirmekten vazgeçerse sonunda senior arzının çökmesine yol açacak
Ama kısa vadeli kazanç yüzünden kuralları bozma teşviki çok güçlü
Aslında birçok senior geliştirici de pek parlak değil
Proje kalitesi belli bir noktadan sonra hep düşüyor
Çoğu sadece unvanda senior’dı; ben de sadece adım senior olan, aslında orta seviyede biriydim
Yöneticiler, işe alımcılar, geliştiriciler herkes ‘çalışıyormuş gibi’ yapıyor ve gerçek değer az sayıdaki gerçekten yetkin kişiden çıkıyor
Beni korkutan senaryo, bizim prompt yöneticilerine dönüşmemiz
Kod tabanını doğru düzgün anlamadan, sadece AI’ın düzelttiği koda güvenilen bir gelecek
Derin problem çözmenin verdiği haz hâlâ var
Sadece React ya da NextJS gibi stack’leri bizzat kullanmak zorunda olmamak beni mutlu ediyor
AI’dan önce sağlam temeller edinmiş insanlar şu an gerçekten çok şanslı
Bu sadece ‘left-pad kültürü’nün bir sonraki aşaması
Böylece AI da daha iyi çalışır ve insanın alan bilgisi öne çıkar
Ben de aynı kaygıyı hissediyorum
Neredeyse hiç review yok ve uzun vadeli mimari değerlendirmeler ortadan kalkmış durumda
Sanki toplum genelinde kalite düşüşünü kabulleniyoruz
Son zamanlarda junior’lar senior’lardan daha kullanışlı gibi geliyor
Senior’a soru sorunca sadece “AI böyle cevap verdi” diyor
Buna karşılık junior’larda öğrenme isteği var ve staff seviyesindekiler hâlâ harika mentorlar
Buna karşılık bazı orta seviye geliştiriciler AI olmadan hiçbir şey yapamıyor
Sorunu anlamıyorlar ve AI onlar yerine çözdükçe kendi yetersizliklerine karşı duyarsızlaşıyorlar
LLM’lerin aşırı kullanımı bilişsel gerilemeye yol açacak
Ben LLM’lerle kirlenmemiş insanları işe almaya çalışıyorum
Bu yazının kendisi bile sanki LLM yazmış gibi geliyor
“It’s not X, but Y” gibi üslup fazla tipik
Artık web içeriğinin çoğunun AI üretimi olacağını düşünmek moral bozucu
Sonunda gerçek ile sahtenin ayrımının silindiği bir dünyaya gidiyoruz
O yüzden ben de gidip kaynakçılık mı öğrensem diye düşünüyorum
Bu yazı da aynı tarzda
Sorunun kökeni senior’larda
Junior’lara sadece işe yaramaz angaryalar veriyorlar ve yeni araçları kullanma fırsatı tanımıyorlar
Artık “e-posta şablonunu düzenle” değil, “iç süreçleri otomatikleştiren bir servis yap” gibi görevler vermek gerekiyor
Junior, ne bilmediğini bile bilmeden öğrenmekte zorlanıyor; senior için de öğretmek zorlaşıyor
AI sayesinde HTML bile bilmeyen bir junior’ı işe alabildim
Eskiden imkânsızdı ama artık biraz sebat eden biri giriş yapabiliyor
Sonuçta kolay yolu seçersen ona uygun bir sonuç alırsın
Öyle bir junior’ın nasıl işe alındığını merak ediyorum
Sürekli kolay yolu seçersen hayatın derinliği kaybolur
Ben de öyle bir kurs hiç almadım
Sonuçta AI yaratıcılığın kaynağını kurutma riski taşıyor
İnsanlar yeni fikir üretmezse AI sadece kendini kopyalamaya başlayacak
Böyle bir döngü teknolojik durgunluk ve bağımlılık yaratacak
Denetimsiz öğrenme bu sınırlamaları aşabilir
İyi geliştiriciler kaybolursa, kötü AI bile faydalı hale gelir