10 Yıllık Yazılımcının Vibe Coding ile İmtihanı
- 1. Güvensiz
- Kodlamayı kolaylaştıran araçtan korkmam, ama düşünmeyi unutturan araçtan korkarım.
- 2.Gerçekten refactor etti mi, yoksa görünmez yapıp geçti mi?
- Vibe coding ile Lovable’ın ürettiği koda baktığımda, ortaya meslek hayatımın ilk yıllarındaki kadar kalitesiz bir iş çıktığını gördüm.
- 3. Kodun Kişiliği Yok
- Sonuç
İçindekiler
- 1. Güvensiz
- Kodlamayı kolaylaştıran araçtan korkmam, ama düşünmeyi unutturan araçtan korkarım.
- 2.Gerçekten refactor etti mi, yoksa görünmez yapıp geçti mi?
- Vibe coding ile Lovable’ın ürettiği koda baktığımda, ortaya meslek hayatımın ilk yıllarındaki kadar kalitesiz bir iş çıktığını gördüm.
- 3. Kodun Kişiliği Yok
- Sonuç

Fotoğraf yazar tarafından çekilmiştir.
Hoşgeldin :)
Bu yazı biraz nostaljik, biraz da sorgulayıcı olacak; hem geçmişteki kod kokularından hem bugünün vibe’larından bahsedeceğim.
Ben yazarken eğlendim. Umarım okurken sen de eğlenirsin.
Bilgisayar mühendisliği mezunuyum. Yedi sene Android, bir sene iOS uygulama yazdım. İki senedir de Vue.js geliştiriyorum. Geliştirilmesinde çok katkımın olduğu iki büyük proje var: ING Türkiye ve ZiraatPay mobil uygulamaları.
ING için sıfırdan bir bankacılık mobil uygulaması yazan ekipte kendimi aştım. Hesap seçme bileşeni, vadeli hesap açma, IBAN girişi, hesaplarım arasında ve cep telefonuna para transferi ekranları bizzat elimden çıktı. ZiraatPay projesinde ise ekibime her aşamada, her yerde destek oldum.
Yazılım yazılarıma göz atmak için alttaki listeyi yan sekmede aç; sonra geri dön, bu yazıyı bitir. Ondan sonra seç, beğen, oku:
Android yazdığım dönemde Java’dan Kotlin diline geçtik, biliyorsundur. Yeni nesil bilmez gerçi… Yaşlandık. Java 8'den bahsediyorum. Şu an kullandığınız Java bilmem kaçın yanında çok gerideydi tabii, ama severdik.
Üniversitede obje tabanlı programlama dili dersimizde Java öğrenmiştik. Öğretim görevlimiz Türkçe bilmeyen, dersi tamamen İngilizce anlatan çok iyi bir insandı. Adımı söyleyemezdi, dili dönmezdi garibimin. Küçük sınavlar (quiz) yaptığında, sonuçları dağıtırken bir kâğıda bakar; bir süre düşünür ve sessiz kalırdı. O an ben de:
– Okay okay sir, gimme gimme, thats mine, derdim.
— Oh! Yes, here is your paper and thank you, diye cevap verirdi.
Tabii ki thank you diyeceksin; yine en yüksek puanlardan birini almışım. Yazılım derslerim hep AA, en kötü BA gelirdi. Çok severdim. Hâlâ yazılımı çok seviyorum. Transkript gönderebilirim…
Java ile böyle derin bağlarım vardı işte. Noktalı virgülünü sevdiğimin dili seniiii!
Noktalı virgül demişken şu anımı da anlatmadan geçemeyeceğim:
Kotlin’e geçişimizden üç sene sonra ING Türkiye’nin eski uygulamasında (hem de çok eski kalmış), hiçbir geliştirici arkadaşımın Kotlin’e çevirmeye cesaret edemeyeceği kadar büyük bir Java sınıfında kod yazmam gerekti. Tabii ki ben de Kotlin’e çevirmedim. Bir iş arkadaşımla birlikte geliştirmeyi yaparken noktalı virgülü her satırda unutmuş ve bununla çok eğlenmiştik. Kotlin’in noktalı virgülü kaldırması bile şahaneydi. Yıllar önce şirket blogumda yazdığım bir yazıda da yazılımın fazla kolaylaştığını, bundan sonra eskisi gibi “yazılım yapıyorum, bir ürün geliştiriyorum” hissinin ve heyecanının bende olup olmayacağından emin olamadığımı söylemiştim.
Evet, Kotlin’e geçişimizden sonra yazılımın fazla kolaylaştığını düşünmeye başlamıştım!
2019'da yazdığım bir başka yazıda da Java sevdamdan ve Android’de “Kotlin mi Java mı?” sorusunun cevabından bahsetmiştim. O zamanlar çok merak edilen, çok önemli bir soruydu. Hatta bir meslek lisesi öğretmeni bana e-posta göndermiş, kendi öğrencilerine Kotlin öğretmeye başlaması hakkında çok tatlı bir sor sormuştu.
Yazıma göz gezdirdim de bugün “Android Programlama İçin Kotlin mi Java mı” sorusuna şöyle cevap veririm: “Üniversitenizde Java öğretildiyse iyi öğrenin ama yine de Android geliştirmek için hemen Kotlin’e geçin.” Şu an 2025 yılında Android için “Java ile devam edin,” diyemem. Ayrıca arka uçta (backend) Java kullanan hâlâ çok fazla şirket var. Java asla ölmedi, ölmez…
Java’dan Kotlin’e geçerken bile bu sorgulamaları yaşarken dil modellerinin bu hızlı çıkışından sonra ortaya bir de vibe coding çıktı… Eskiden de kodsuz site yapma, uygulama yapma programları ve siteleri vardı ama bu kadar iyi değildi.
Bir arkadaşımla yaptığımız hobi projesinin önce çok ayrıntılı olmayacak şekilde analiz dokümanını yazdık. Sonra Lovable üzerinde görsel olarak tasarladık. Lovable’ı bir kurcaladım ki kodu da yazmış… İçimden “Çüüşşş! Senin ne haddine köpek, ben ölmedim henüz!” dedim; ama başka bir iç sesim hemen onun kafasına terlik attı ve “Milyon dolarlık şirketle mi savaşıyorsun, asıl sen kimsin köpek?” dedi.
Vibe coding’de kıdemli bir uzman geliştirici hangi hataları fark etti?
Böyle tecrübeli, büyük finansal projeler geliştirmiş, projelerin her yerine hâkim olabilmiş, yazılıma sevdalı birisi için vibe coding nasıl bir his veriyor?
1. Güvensiz
Ne yazık ki kod güvenliğini pek çok yazılımcı bile bilmiyor. Vibe coding’in amacı hızlıca bir tasarım, bir uygulama çıkarmak. Dil modelimiz bizi anlayacak da onu tasarıma çevirecek de… Ölme eşeğim ölme. Uzun sürmemesi ve kullanıcıyı çok fazla bekletmemek için tabii ki kaliteden ve en çok da güvenlikten fire verecek.
Lovable’ın yazdığı kodu GitHub’a bile aktarmadım. Bileşen bileşen, tek tek her satırını okuyup inceleyip kendim baştan geliştireceğim. Çünkü kodu anlamadan güvenemem. Yazılımcı dediğin sadece satırı değil, niyeti de okur, anlar. “Bunun amacı o değil,” dersen haklısın. Bu kapitalist dünyada, kapitalizmin yuvası olan dil modellerine güvenmemek de benim tercihim.
Benim zevklerim sizin nezdinizde makul bir zemine oturmak zorunda değil…
Ama “güvenemem” derken abartmıyorum, mesela şunlar bile mümkün:
Kodunuzun içine madencilik ajanları yerleştirebilir. Cihazınızda çalıştırırsınız, zamanla farkında bile olmadan vibe coding aracının sahibini zengin edebilirsiniz.
Bankacılık bilgilerinizi kaptırabilirsiniz. Haberiniz bile olmadan kredi çekebilirsiniz.
Şifreleriniz, rehberiniz… Cihazlarınızdaki her şey çalınabilir.
İş bilgisayarınızda bunu yapıyorsanız neler olur neler.
Kodu okumadan, en azından başka dil modellerine gönderip sormadan projeyi indirip çalıştırmayın. Ayrıca vibe coding’e fazla da alışmayın. Bu araçlar şu an nispeten ucuz olabilir, evet. Ama kimse milyon dolar kazandıracak bir projeyi 50 dolara yapmaz. Kapitalizmin yuvası diye boşuna demedim: Önce bizi senelerce alıştırıp kod yazmayı bile unutturup köle yapacaklar. Sonra da bizim vazgeçemeyeceğimiz bir noktada çok pahalanacaklar ve biz de el mahkûm ödeyeceğiz.
“Haydi kendimiz yapmaya dönelim, buna bu para verilir mi!” deyip yazılım ekipleri oluşturmaya çalışacağız. Ey geliştiriciler! Ey geliştiriciler! Bunlara alışıp kendinizi köreltmeyin. Bu dil modellerine bu kadar yatırım yapılıyorken sanıyor musunuz ki şu an bunun karşılığını kazanabiliyorlar?
Kodlamayı kolaylaştıran araçtan korkmam, ama düşünmeyi unutturan araçtan korkarım.
2.Gerçekten refactor etti mi, yoksa görünmez yapıp geçti mi?
Üniversitede kendimi çok geliştirmiştim. Hiçbir ödevi kaçırmamıştım; hepsini ciddiye alarak yapmıştım. Stajlarım naylon değildi: 20'şer iş günü değil, 3'er ay. Kendimi geliştirmek için günde 2,5–3 saat bedavaya yol çekmiştim.
İş hayatımda da kendimi daha da ileri taşımak için can atmıştım. İlk iş yerimden ayrılma sebebim, tek Android geliştirici olmamdı. Bir takımla, bir takım lideriyle kendimi daha iyi geliştireceğimi düşünüyordum ve haklıydım.
10 yıllık meslek hayatımın ilk 3–4 senesinde, yazdığım koda 6 ay sonra dönüp baktığımda hep kötü bulurdum. Gerçekten.
Şöyle bir düşünüyorum da ING Türkiye’de, Mobven’de ve Lebib Yalkın’da yazdığım kod, kendine güvenen -benim de güvendiğim- bir kalitedeydi.
Vibe coding ile Lovable’ın ürettiği koda baktığımda, ortaya meslek hayatımın ilk yıllarındaki kadar kalitesiz bir iş çıktığını gördüm.
Konuşurken bebek gibi ya hani:
– Aa! haklısın. Oo, çok güzel bir noktaya değindin. İyi yakaladın. Harikasın…
Kodda da yeni mezun. Hatta daha kötü: Okunabilir değil. Yazdığı iki sınıf 1100'er satır, bir diğeri 1400 satır (ürettiği örnek veri hariç). Bileşen yok. “Renkleri, metinleri toplayıp ayrı birer dosyada yazayım” düşüncesi de yok. Sorsan edebiyat parçalar… ama yazdığı kodda SOLID yok. React ile yazmış bir de. React’e hakaret seviyesinde kötü bir kod çıkarmış.
Bu satırları yazdığım tarih: 22 Ekim 2025. Tabii ki daha iyi olacaktır. Cevap vermesi 20–25 saniye sürüyor. Kod standartlarına benim şu anki hâlim kadar dikkat etse sunucusu çöker. (Benimki de sık çöküyor.)
En komiği de başlıkta bahsettiğim olay: “Ana sayfa istemiyorum, kaldır,” dedim, görünmez yapmış. Refactor etmiyor, sadece IDE’nin kırmızı çizgisini susturuyor. Vallahi bunu yeni mezun, hatta stajyer bile yapmaz. “Daha iyi bir yolu olmalı,” diye düşünür.
3. Kodun Kişiliği Yok
Her yiğidin bir yoğurt yiyişi vardır.
Evet, her geliştiricinin tercihleri, isimlendirmeleri, kod yazma stili vardır. Kimisi fonksiyonun başında “if + return” kullanır; şart sağlanmazsa hemen fonksiyondan çıkar. Kimi geliştiriciler “if-else” kullanır; kimi “switch-case” kullanır. Ben şahsen “try-catch”i hiç sevmem. Kodu sarmalamaktansa hatanın kafama atılmasını yeğlerim.
“OpeningType” isimli bir enum görürseniz büyük ihtimalle ben yazmışımdır. Ya da benimle kod yazmış, muhabbet etmiş bir yazılmcı kardaşım yazmıştır. Şunu gördüyseniz o da kesin benimdir: console.log("fdsa").
Bir kodu okurken IDE’de o satırın üzerinde başka bir isim yazsa bile, aşağı yukarı ekipte kimin yazdığını anlarsınız. Ama vibe coding kodu “karakterden yoksun” bırakıyor. Bir önceki maddede de dediğim gibi, kod standardı olmayınca ortada “biri yazmış” hissi yok. “Ekip yazmış” hissi de yok. Herkes biraz yazmış gibi.
Az vakitte iş çözmeye, bir yandan da geçinmeye çalışan 5 farklı yeni mezun geliştiricinin, farklı zamanlarda girişip ilerleyemeyip bıraktığı bir freelance projeye benziyor. Öylesini de gördü bu gözler.
Oysa iyi kod biraz yazarı gibidir. Bir yerde “Bu satırı kesin Barış yazmıştır,” dersin. Bir fonksiyon bile insanın karakterini ele verir: Sabırsız mı, düzenli mi, kafası karışık mı? Vibe coding ise bu imzayı silip atıyor. Geriye sadece isimsiz bir metin kalıyor.
Sonuç
Eski yazılarımda gördün. Java’dan Kotlin’e geçerken bile “Yazılım fazla basitleşti, mertlik bozuldu,” diye düşünen ben, o hobi projesini yaparken bile ne sorgulamalar yaşadım. Dr. Jekyll ile Bay Hyde’ı, Frankenstein ya da Modern Prometheus’u okur gibiyim. Bir yandan da üzülüyorum.
Emekli olduğumda vibe’ı reddeden biri mi olacağım? İnadına, artık destek verilmeyen eski IDE’leri Windows sanal makineleri üzerinden zorla açıp onlarda mı yazılım yapmaya çalışacağım? “Bak hatun, sana uğraşıp eski yöntemlerle kalpli uygulama yaptım. Bak, şuraya basınca kalpler uçuşuyor,” diye mi gezeceğim?
Kapısının önüne araba park edilemeyen emekli subay misali emekli yazılım geliştirici… Mesleğin ismi bile değişecek belki. “Bunların yaptığı da yazılım mı ya, biz ne biçim uygulama yazardık ohooo… prompt engineer’mış. Peehh,” diye vibe’cıları beğenmeyeceğim. Off, kendimi hayal bile edemiyorum.
Ama sonra kendime şunu hatırlatıyorum: Teknoloji hep kolaylaştı, ama iyi yazılım hiçbir zaman kolay olmadı.
Hem kıdemli bir geliştirici hem de yazılım takım lideri olarak benim için kodun en büyük gücü, kodu kontrol etmek ve anlamaktır. Vibe coding ise bana tam tersine hız ve konfor sunuyor. Aradaki çatışma:
“Benim işim düşünmekti; artık hissetmek ve çocuğa anlatır gibi bu araçlara anlatmak mı gerekiyor?”
“Hataları çözmek benim işimdi; şimdi dil modelinin vibe’ını düzeltmek mi?”
Kodun kontrolünü bırakmak hız kazandırıyor, ama mesleki tatmini kaybettiriyor.
Benim için vibe coding’e alışmak çok zor olacak. Ama kim bilir; belki de geleceğin yazılımı, kontrol değil, sezgidir. Belki de “vibe” dediğimiz şey tam olarak budur.
Sıkça Sorulan Sorular
▸Vibe Coding güvenli midir?
Vibe Coding araçlarının ürettiği kodlar ciddi güvenlik açıkları barındırabilir. Kod içine madencilik ajanları yerleştirilebilir, bankacılık bilgileri çalınabilir veya şifreler ele geçirilebilir. Bu nedenle üretilen kodu okumadan ya da başka araçlarla incelemeden çalıştırmamak gerekir.
▸Kıdemli bir yazılımcı Vibe Coding hakkında ne düşünür?
ING Türkiye ve ZiraatPay gibi büyük finansal projelerde deneyim kazanmış yazar, Vibe Coding'i 'güvensiz' bulduğunu açıkça ifade ediyor. Lovable'ın yazdığı kodu GitHub'a bile aktarmadan, her satırı kendisi okuyup baştan geliştirmeye karar vermiş; çünkü kodu anlamadan güvenemeyeceğini vurguluyor.
▸Vibe Coding ile Java'dan Kotlin'e geçiş arasında nasıl bir bağ kurulabilir?
Yazar, Java'dan Kotlin'e geçerken bile 'yazılım fazla kolaylaştı' diye sorgulamalar yaşadığını belirtiyor. Vibe Coding'in ortaya çıkmasıyla bu his çok daha derin bir hal aldı; ancak kolaylığın beraberinde güvenlik ve kalite kayıpları getirdiğini deneyimledi.




