Montana State University bilgisayar mühendisliği bölümü profesörü ve htmx'in yaratıcısı Carson Gross'un, "Yapay zeka çağında da programlamayı bir kariyer olarak sürdürmeli miyiz?" sorusuna "Yes, and…(Evet, ve… )" diye yanıt verdiği deneme.
"Yes" — Evet
- Programlamanın özü, bilgisayarı kullanarak problem çözmek ve karmaşıklığı kontrol etmektir. Bu becerinin daha az değerli olacağı bir gelecek hayal etmek zor
- Ancak yapay zeka junior'lar için riskli. Kodu doğrudan yazmazsanız, kodu okuyamaz hale de gelebilirsiniz
- Kodu okuyamazsanız, "büyücünün çırağı tuzağı"na düşersiniz — ne anlayabildiğiniz ne de kontrol edebildiğiniz sistemler üretir hale gelirsiniz
Kodlama→prompt yazma, assembly→yüksek seviyeli diller geçişiyle aynı değil
- Derleyiciler deterministiktir, ama LLM'ler değildir
- Yüksek seviyeli diller accidental complexity'yi ortadan kaldırdı, ancak LLM'in ürettiği kod çoğu zaman tam tersine accidental complexity ekler
Yapay zeka bir kod üreticisi değil, mükemmel bir asistan (TA)
- Kavramları ve teknikleri anlamaya yardımcı olan bir partner olarak kullanılırsa entelektüel gelişim için etkilidir
- Özellikle accidental complexity yüzünden takıldığınız engelleri aşmada çok yararlıdır
AGENTS.mddosyasını paylaşarak yapay zekanın bir kod üreticisi değil, bir asistan gibi davranmasını sağlayın
"and…" — ve
Saf kodlama becerisi daha az önemli hale gelebilir
- Bunun yerine daha önemli olacak beceriler:
- İletişim becerisi — Hem LLM'lerle hem insanlarla açık yazma ve iletişim kurma becerisi. Kitap okumak ve deneme yazmak yardımcı olur
- İş bilgisi — "Programcıya gerek yok" diyen iş tarafı bakışı da, "İş tarafındaki insanlara gerek yok" diyen programcı bakışı da kısa görüşlü. Yapay zeka, gerçek problemleri daha derin anlamak için fırsat veriyor
- Sistem mimarisi kurma — Büyük ölçekli sistemlerin karmaşıklığını kontrol etme becerisi. Ancak kötü mimarların çoğunda kodlama deneyimi eksikti
Senior vs junior için LLM kullanım biçimi
- Senior: Kod analizi, düşünceleri toparlama, küçük kod parçaları üretme, sevilmeyen kodları (regex, CSS) üretme, keşif amaçlı kod ve test önerileri için kullanır. Tam çözümler üretmesini istemez. API tasarımını asla ona bırakmaz
- Junior: vibe coding cazibesine direnmelidir. Hızdan çok anlamayı önceliklendirmek uzun vadede kazandırır. Yakında şirketler de vibe coding'in karmaşıklık patlaması sorununu fark edecek
İş arama tavsiyesi — 4F stratejisi
- Online iş siteleri piyango gibidir
- 4F: Family(aile), Friends(arkadaşlar), Family of Friends(arkadaşların ailesi)
- Büyük teknoloji şirketleri olmak zorunda değil. 100'den fazla çalışanı olan şirketlerin çoğunda bir geliştirme organizasyonu vardır
- Costco genel merkez örneği: aile bağlantısıyla girip analist olarak başlamak, üstüne programlama becerisi eklenince sizi çok değerli kılar
Sonuç
Programlamanın temelleri, özellikle de iyi kod yazma ve karmaşıklığı kontrol etme becerisi, sonsuza kadar önemli olacak. İş piyasasındaki durgunluk geçici. Ve şirketlere: junior'ların kodu doğrudan yazmasına izin verin.
31 yorum
Mimariyi anlamıyorsan vibe coding'in bir anlamı yok..
Herkes ketçap sürülmüş makarna yapabilir
İtalyan usulü makarnayı ise herkes yapamaz
İtalyan makarnası 20 dolar, ketçap sürülmüş makarna 2 dolarsa ben ikincisini yerim ama...
Kullanıcılar 2 dolarlık şeylere para ödemez.
Sanırım anlatılmak istenen noktayı anlamamışsınız.
Evet, itiraf ediyorum; ana metni bile okumadan yorum yaptım;;
Otel ya da profesyonel restoranlarda ketçap sürülmüş makarnanın var olması bile mümkün değildir.
Ama evde alelacele karnını doyurmak diye düşünürseniz, ketçap sürülmüş makarnanın bir anlamı vardır...
Ben özel günlerde şefin yaptığı İtalyan makarnası yemek isterim
Mesele makarna değil; düşük kaliteli şarap 2$ iken yüksek kaliteli şaraplar on binlerce dolara çıkıyor ama talep yine de istikrarlı.
Ben de özel bir günse İtalyan usulü makarna yerim ama... normal zamanda(?) ise...
Harika bir ifade. Sadece 3 satırda tertemiz özetlenmiş.
Biz mühendisiz. Ele aldığım ve önerdiğim şeyleri anlamak ve onların sorumluluğunu taşımak, mühendisi mühendis yapan şeydir. Bunun gerekli olmadığını savunmak, sadece kişinin böyle bir ortamda çalıştığı anlamına gelir. Yapay zeka bu özü değiştirmiyor; aksine onu daha da uç bir şekilde görünür kılıyor. PR'ı anlamadan da hiç sorun olmuyorsa, o artık PR değildir.
Bir şirkette bir yönetici, astının yaptığı işi anlamıyorsa ona iş verebilir mi?
Anlamasa da yaptırır mı? Ne yaptığını yönetebilir mi?
İnsan ürünlerinde her zaman genel olarak 'insanın niyeti' önemli olmuştur. Önemli olan uygulamanın kendisi değil,
Nasıl hesap makinesi çıktı diye matematik öğrenmekten vazgeçmiyorsak...
Kendi alanımın yerine başkasının geçememesini ummaktansa, mümkün olduğunca hızlı bir şekilde hep birlikte yerimizin alınmasını dilemenin daha gerçekçi olduğunu düşünüyorum. Herkes bunu zaten belli belirsiz hissediyordur.
Assembly dilini bilmeden de kod yazılabildiği gibi
rust bilmeden de kod yazmak mümkün hale gelecek gibi görünüyor.
Sonuçta insanlar da her kod yazdıklarında farklı kod yazıyor.
Kişiden kişiye de değişiyor.
Ama hepsi de Rust geliştiricisi.
Yapay zekanın karmaşıklık sorununu sonuçta yine yapay zekanın çözeceğini düşünüyorum. Bunu yalnızca insanların yapabileceği yanılgısını ve gururunu bırakmalıyız.
Mevcut LLM mimarisiyle bu mümkün değil. Tamamen farklı bir paradigma gerekiyor.
Yine de bu arada insanların yiyip içip geçinmesi gerekiyor :(
Umarım herkes bu geçiş dönemini iyi atlatır.
Yapay zekanın gelişmesiyle birlikte projelerde gerçekten insan sayısı azaltılıyor. Bir kişi azalırken, yöneticiler de işi olduğu kadar yapay zekayı iyi kullanamazsa tasfiye edilecekler gibi görünüyor.
Her koşulda azaltmaya çalışmak yerine, o insan kaynağını başka alanlara yönlendirip yeni işler ya da şimdiye kadar yapılamayan işleri yaptırmak daha iyi olurdu. Birdenbire azaltmak fazla kısa vadeli bir yaklaşım.
LLM/Agentic Coding hâlâ üstün bir mühendis değil, üstün bir araçtır. Agentic coding’de iyi bir plan ne kadar önemliyse, sonuçta kullanıcının da kodu anlayıp değerlendirebilecek yetkinliğe sahip olması gerekir. Örneğin fastrender ve CCC, Agentic Coding’in potansiyelini gösterdi ama aynı zamanda net sınırlarını da ortaya koydu.
Soruyu farklı şekilde sormak istiyorum.... "Kendi çocuğumuza bu mesleği tavsiye eder miyiz?"
Çevremde uzun süre birçok kişi çocuklarını bilgisayar mühendisliğine göndermeyi doğal bir eğilim olarak görüyordu. Artık bunun epey değiştiğini düşünüyorum.
Vibe coding sonrasındaki insanlar için geliştirme öğrenmek kolay olmayacak gibi geliyor. Öğrenmek fazla verimsiz hale geliyor.... Çünkü tek tıkla tatmin olmak çok kolay.
Vibe coding sadece ortaya bir çıktı koymakla ilgili; bence ortaya çıkan implementasyon sonucunu anlayıp anlamamak arasındaki fark gerçekten çok büyük olacak. Bu anlayışın da bahsettiğiniz "geliştirme çalışması" sayesinde ortaya çıktığını düşünüyorum.
Hatta yapay zekanın gelişmesiyle birlikte bir şeyler öğrenmenin maliyeti büyük ölçüde düştü; bu da daha fazla şey öğrenebilmek için gerçekten iyi bir dönem gibi görünüyor.
Vibe coding ile çalışan kod üretmek mümkün, ancak sonuçta onu denetlemesi gereken yine insan ve yalnızca vibe coding ile bakımı kolay, ölçeklenebilir kod üretmek pek kolay değil.
Ayrıca sonuçta insanlar inceleme yaptığı için daha fazla zaman harcanıyor; bu yüzden üretkenliğin de orada burada pek değişmediğini gösteren araştırma sonuçları var.
Bireysel düzeydeki bu tür çabalar da önemli, ancak ulusal ölçekte üyelerin yürüttüğü tartışmalar aracılığıyla toplumsal sistemlere yönelik desteğe ihtiyaç var.
Ben de buna fazlasıyla katılıyorum. Bunu genç meslektaşlarıma da sık sık söylüyorum ama bazen kulağa sadece yaşlı kuşağın öğüdü gibi gelir mi diye düşünüyorum.
Çok katıldığım bir içerik.