Yazılımcı CV'sinde Temiz Kod Sinyalini "Spagetti Yazmam" Demeden Yaymanın Stratejik Anatomisi
"Spagetti Kod Yazmam" Cümlesi Neden CV'de İşe Yaramaz
Bir yazılımcı özgeçmişinde kendini tanımlayan en riskli cümlelerden biri "spagetti kod yazmam" ifadesidir. Cümle, okuyan kişiye niyet beyanı verir; ama CV bir niyet belgesi değil, geçmiş eylemlerin kanıtıdır. "Yazmam" diyen birinin, CV'sinde bunu ispatlayan tek bir somut satır yoksa, o cümle rekabet ilanı gibi havada kalır.
Bunun üç katmanlı bir sorunu var. Birincisi, okuyan kişide savunma refleksi uyandırır; sanki yazmadığını özellikle vurgulama ihtiyacı hisseden biri, meslek hayatında bununla sık karşılaşmış izlenimi verir. İkincisi, cümle tamamen Öznel bir iddia taşır: kimin yazdığı spagetti sayılır, kimin yazdığı sayılmaz ki? Üçüncüsü, çoğu Yazılım Geliştirici Maaşları 2027: Özgeçmiş Stratejileri ile Kazancınızı Yükseltin" data-seo-auto-link="true">CV hazırlama şablonunda bu tür "olmadığını iddia ettiğiniz şeyler" ayrı bir kategoriye girmez; ATS süreci bu kelimeyi okuyup anlam yükleyecek kadar gelişmiş değildir.
Doğru yol, aynı mesajı hiç o cümleyi kurmadan, deneyim satırlarının içine doğal olarak serpiştirmektir. Bu yazı, tam olarak bunun anatomisini anlatıyor: kod kalitesini Kanıt olarak yazmak, Sinyal olarak yaymak ve ATS'nin tarayabildiği kelimelere tercüme etmek.
Karşıtı Kurmak İçin Önce Tanımı Netleştirmek: Spagetti Kod Nedir, Ne Değildir
Spagetti kodu tek cümleyle tanımlamak zor; ama herkesin zihninde benzer bir his var: okunması zor, takibi zor, hata ayıklaması saatler süren, bir dokunuşun başka yerde patlama yarattığı kod. Bu hissi tanımlayan çoğu şey aslında Mimari ve Süreç kararlarının yokluğu.
Bir CV'nin "ben spagetti yazmıyorum" dediği yerde aslında şu beş şeyin varlığını göstermesi gerekir:
- Modüler, sorumluluğu daraltılmış bileşenler veya servisler arasında net sınırlar.
- Ortak kod standartlarının varlığı ve bu standartlara uyum (lint, format, code review).
- Değişikliğin güvenli bir şekilde yapılabildiğini gösteren test katmanı.
- Bilgiyi kodun içine gömmek yerine tiplere, arayüzlere, dokümantasyona yayan yapı.
- Performans ve okunabilirliği ölçülebilir kılan gözlemlenebilirlik (log, metric, alert).
Beş maddenin herhangi birinde somut bir katkı yazabiliyorsanız, "spagetti yazmam" cümlesine ihtiyacınız yok. Yani CV hazırlama sürecinde yapılması gereken ilk iş, bu beş başlığı kendi gerçek geçmişinizde aramak.
Kod Kalitesini Gösteren Fiil Havuzu
CV hazırlarken en sık yapılan hata, "deneyim" bölümünü sorumluluk listesi gibi yazmaktır. "Sistem geliştirdim", "API yazdım", "Frontend geliştirdim" gibi cümleler sıralanır. Bu cümleler ne yaptığınızı söyler ama nasıl yaptığınızı söylemez. Oysa CV analiz yapan birinin veya ATS'nin istediği tam olarak bu "nasıl" katmanıdır.
Spagetti yerine yazılabilecek fiiller
- Refactor etmek: Mevcut bir yapıyı okunabilirlik veya performans için yeniden düzenlemek.
- Modülerleştirmek: Tek bir büyük modülü birden fazla bileşene ayırmak.
- Standartlaştırmak: Ekipteki tutarsız yaklaşımları tek bir kurala bağlamak.
- Kod incelemesi yapmak (code review): Yeni katkıları mimari ve stil açısından değerlendirmek.
- Test etmek / kapsamı artırmak: Birim, entegrasyon veya uçtan uca test yazmak ya da mevcut kapsamı yükseltmek.
- Tip güvenliği sağlamak: Dinamik yapıları statik tiplerle ifade etmek.
- Soyutlamak: Tekrar eden mantığı ortak bir katmana taşımak.
Bu fiillerin hepsi, kendi içlerinde bir kalite kültürü taşır. "Refactor ettim" diyen bir kişi, kodun temizlenmesine zaman ayırmış demektir. "Kod incelemesi yaptım" diyen bir kişi, başkasının yazdığına da müdahale edebilen biri demektir. CV bedava şablonlarıyla çalışırken bile bu fiilleri mutlaka deneyim satırlarına taşımak şarttır; çünkü ATS, "deneyim" bölümünde bu kelimelerin geçip geçmediğine bakar.
Aynı iş, iki farklı cümle: algı farkı
Şu iki satır aynı kişinin aynı işini anlatıyor:
"E-ticaret uygulaması için ödeme servisinin yeniden yazımını yaptım."
"Spagetti yapıya dönüşen ödeme servisini sorumluluk temelli olarak yeniden tasarladım; 240 satırlık işlem sınıfını servis–strateji–sağlayıcı katmanlarına ayırdım, eksik olan test kapsamını yüzde 38'den yüzde 71'e çıkardım."
İlk cümle bir iş listesi. İkinci cümle, kod kalitesi kültürünün satır arasında anlattığı bir hikâye. Cv analiz yapan biri, ikinci cümleyi okuduğunda mimari bilinçten test disiplinine kadar birçok sinyali tek seferde alır.
ATS'nin Tarayabildiği Sinyaller
ATS, doğal dili anlamaz; anahtar kelime ve kalıplarla çalışır. Bu, yazılımcı CV'lerinde özellikle önemlidir, çünkü birçok ilan "clean code", "code quality", "refactoring", "unit testing", "design patterns", "mentoring", "architecture" gibi ifadeler içerir. Bu ifadeleri CV'nize doğru bağlamda yerleştirmek, ATS filtresinden geçmeyi sağlar. Ancak bunu abartmak da aynı derecede risklidir.
İşe yarayan kalıplar
- "X modülünü Y prensibine göre yeniden tasarladım"
- "Yüzde Z oranında test kapsamı oluşturdum / artırdım"
- "Standart kütüphanelerin seçiminde ekip kararına öncülük ettim"
- "On haftalık sprintler boyunca 100'den fazla PR'da code review yaptım"
- "Performans darboğazlarını ölçümleyip p95 latency'yi ... Azalttım"
Buradaki kalıpların ortak özelliği, hepsinin Eylem + Özne + Sonuç üçlüsünden oluşmasıdır. Eylem, kod kalitesini taşıyan fiildir (refactor etmek, kapsamı artırmak, inceleme yapmak). Özne, somut bir bileşen, modül veya süreçtir. Sonuç ise sayısal olmak zorunda değildir; ama Ölçülebilir bir nitelik taşımalıdır: "daha hızlı", "daha güvenli", "daha az hatayla", "daha düşük bakım yükü".
İşe yaramayan kalıplar
- "Temiz kod yazarım" (öznel).
- "Spagetti koddan kaçınırım" (negatif).
- "Kaliteli yazılım üretirim" (genel).
- "Best practice'lere uyarım" (boş).
Bu kalıpların hepsi aynı şeyi söyler: iddia. Cv analiz yapan biri, gerçekten belirleyici olanın iddia değil iz olduğunu bilir.
Mimari Düşünceyi CV'ye Taşımanın İnce Yolu
Temiz kod sinyali, sadece kodun içindeki düzenden değil, o kodun nasıl bir karar sürecinden çıktığından da geçer. CV'de mimari düşünceyi göstermenin iki farklı yolu vardır: biri Neyi yaptığınızı anlatmak, diğeri Neden yaptığınızı anlatmaktır. İkincisi, spagetti olmayan kodun altında yatan düşünceyi gösterir.
Bir örnek:
"Ödeme sağlayıcıları için tek tip bir strateji deseni uyguladım; yeni sağlayıcı entegrasyonunu 2 haftadan 3 güne indirdim."
Bu cümlede iki şey aynı anda görünür. Birincisi, modüler bir mimari karar. İkincisi, o kararın ölçülebilir etkisi. Okuyan kişi "spagetti yazmıyor" sonucunu kendisi çıkarır; çünkü bu tür bir bakış açısı, tek bir büyük fonksiyon yazan bir kişinin bakış açısı değildir.
Aynı şekilde, refactor edilen bir modülün neden refactor edildiğini anlatmak da sinyali güçlendirir. "Geliştirme hızı düştüğü için X'i refactor ettim" yerine "X modülünün ortalama onarım süresi 4 saati aştığı için tek sorumluluk ilkesine göre yeniden düzenledim" demek, çok daha derin bir mesaj taşır. Bu cümle, yalnızca mimari bir kararın değil, aynı zamanda veriye dayalı bir kararın altını çizer.
Üç Satır Dönüşümü: Olgudan Kanıta, Kanıttan Etkiye
Aşağıdaki dönüşümler, gerçek CV dili ile o dilin "kod kalitesi sinyali taşıyan" hâli arasındaki farkı somutlaştırıyor.
1. "API yazdım" → "Sözleşmeyle tanımlı, versiyonlanmış API tasarladım"
İlk cümle bir eylem. İkinci cümle, geriye dönük uyumluluğu bozmadan genişletilebilen, sözleşmesi olan bir arayüz anlatıyor. Bu cümleyi okuyan biri, kodun nasıl büyüdüğünü ve nasıl korunduğunu zihninde canlandırır; spagetti metaforuna gerek kalmadan.
2. "Bug fix yaptım" → "Üretimde tekrarlayan 12 hatayı kök neden analiziyle kalıcı olarak kapattım"
İlk cümle üretkenlik anlatır. İkinci cümle, hızlı çözüm yerine kalıcı çözüm üretme refleksini gösterir. Bu cümle, "hata düzeltirim" cümlesinin anlattığından çok daha fazlasını anlatır: hatanın kaynağına inen, çözümü uygulayan ve aynı sınıfın bir daha oluşmaması için mimari düzeyde önlem alan biri.
3. "Test yazdım" → "Servis sınırlarında sözleşme testleri kurarak ekip arası entegrasyon hatalarını ... Azalttım"
İlk cümle nicelik anlatır. İkinci cümle, testin Amacını anlatır. Bu fark, spagetti kod yazmayan kişinin ayırt edici özelliğidir: test, kodun değil, davranışın güvencesidir.
Birden Fazla Proje Olduğunda Sinyali Dağıtmak
Cv hazırlama sürecinde tek bir proje üzerinden ilerlemek zorunda değilsiniz. Spagetti yazmayan bir geliştirici, farklı projelerde farklı kalite sinyalleri bırakmış olabilir. Bunları bir bütün olarak göstermek için iki temel yol vardır:
- Özet bölümünde tek cümle: "Birden fazla projede modüler mimari, kod standartları ve test kapsamı oluşturarak ekip hızını artırdım" gibi bir özet, beş deneyim satırının ortak paydasını tek satırda kurar.
- Teknik beceriler bölümünde kanıt: "Unit test (Jest, xUnit)", "Integration test (Postman, Pact)", "Code review (GitHub PR, GitLab MR)", "Static analysis (ESLint, SonarQube)", "Architecture (Hexagonal, Clean, Microservices)" gibi ifadeler, kalite araçlarını görünür kılar.
Her iki yol da aynı amaca hizmet eder: spagetti metaforuna girmeden, kod kalitesinin bir ekibin günlük pratiği olduğunu göstermek.
Teknik Beceriler Listesinde "Temiz Kod" Nasıl Yazılır
Çoğu yazılımcı, teknik beceriler bölümüne "Clean Code", "Design Patterns", "SOLID" gibi ifadeler eklemeyi dener. ATS açısından bu terimler doğru kategoride yakalanır; ama insan okuyucu açısından bu ifadeler tek başına bir değer taşımaz. Önemli olan, terimlerin hangi projede, hangi karara dayanarak kullanıldığıdır.
Bu yüzden "Clean Code" yazmak yerine, ona bağlı olarak "yüksek test kapsamı olan modüler TypeScript servisleri" gibi bir açıklama daha işlevlidir. Cv analiz yapan kişi, tek başına bir terimle değil, o terimin nasıl uygulandığını gösteren cümleyle karar verir.
Bir başka yol, bu terimleri "projeler" bölümünde anlatmaktır. Her projeyi tek paragrafla yen kısımda, ilk cümle projeyi tanıtsa bile ikinci cümle mimari tercihi, üçüncü cümle kalite uygulamalarını anlatabilir. "Node.js ile geliştirilmiş gerçek zamanlı bildirim servisi" gibi bir cümle, "x mikroservis mimarisi, %85 birim test kapsamı, merkezi loglama" ifadesiyle genişlediğinde, spagetti karşıtı bir profil zaten kendiliğinden ortaya çıkar.
İnsan Okuyucu Bu Sinyali Neden "Spagetti Yazmam" Cümlesinden Daha Çok Ciddiye Alır
Cv analiz yapan biri, yıllık yüzlerce özgeçmiş okur. Bazı cümleler artık otomatik olarak silikleşmiştir: "temiz kod yazarım", "detaylara önem veririm", "takım oyuncusuyum" gibi ifadeler, neredeyse tüm CV'lerde aynı şekilde geçer. Bu ifadelerin değeri, kullanılmamalarından değil, herkes tarafından kullanılmalarından dolayı düşmüştür.
Bunun yerine, deneyim satırlarında belirli bir mimari kararın altına imza atmak, o kişiye özgü bir iz bırakır. "Bu modülün sorumluluğunu nasıl daraltırsanız, birim test sayısı neden artar?" sorusunun cevabını bilen birinin tek bir satırı, "spagetti kod yazmam" cümlesinden daha ağırdır.
Bu yaklaşım, aynı zamanda cv bedava araçlarının sınırlarını zorlamayan bir yaklaşımdır. Ücretsiz CV hazırlama araçlarının çoğu, deneyim bölümünü serbest metin olarak bırakır; burada yapacağınız seçim, ATS'nin mi insanın mi sizi ayırt edeceğini belirler.
Cv bedava Şablonlarında Bu Sinyali Kaybetmemek
Ücretsiz CV şablonları, görsel olarak düzenli bir yapı sunar; ama bu düzenin bedeli, deneyim bölümünün dar bir karakter alanına sıkıştırılmasıdır. Bu sıkışıklık, birçok geliştiricinin özlü cümlelere yönelmesine neden olur. Tam da bu noktada, "temiz kod yazarım" gibi kısa ama içi boş cümleler devreye girer.
Oysa bu kısıtlı alan, doğru kullanıldığında güçlü bir alan olur. Her satıra sığdırabileceğiniz bir mimari karar, beş satırlık bir görev listesinden daha etkilidir. Şablonun kısıtı, sizi önemsiz detaylardan arındırır; bunu fırsat olarak görmek şarttır.
Şablon sınırları içinde çalışırken dikkat edilecekler
- Her deneyim maddesi tek bir cümleden oluşsun; o cümle eylem, özne ve sonuç içersin.
- "Geliştirdim", "yazdım" gibi genel fiillerden kaçınıp yukarıdaki havuzdaki fiilleri tercih edin.
- Çok sayıda teknoloji listelemek yerine, az ama ilişkili teknoloji yazın; her satırda teknolojinin nasıl kullanıldığı görünsün.
- Spagetti kelimesi hiç kullanmayın; okuyucu zaten onun karşıtını anlayacaktır.
Ölçülebilirlik Olmadan Kod Kalitesi Anlatılamaz
Temiz kod sinyali, ölçülebilir bir şey olmadan insan okuyucunun zihninde yeterince yer etmez. Ölçülebilirlik her zaman sayı olmak zorunda değildir; ama Gözlemlenebilirlik olmak zorundadır. Aşağıdaki örnekler, "ölçülebilir olanın" alternatiflerini gösterir:
- Sayısal ölçüm: "%75 test kapsamı", "10 dakikanın altında derleme süresi", "p95 yanıt süresi 220ms".
- Zamansal gözlem: "Ortalama onarım süresi 4 saatten 1 saate düştü".
- Süreçsel gözlem: "Sprint sonlarında biriken hata sayısı yarıya indi".
- Niteliksel gözlem: "Aynı modülde art arda üç sürüm geriye uyumluluk sağlandı".
Bu dört gözlem türünün hepsi, CV bedava şablonlarının dar alanına sığabilen, ama yazılımcının nasıl çalıştığını somut olarak anlatan cümlelerdir. Önemli olan, bu gözlemlerin geçmişte gerçekten yapılmış bir pratiğe dayanmasıdır; uydurma bir istatistiğin faydası, bir cümle sonra sıfıra iner.
Bu Sinyali Zaten CV'nizde Yazıyorsunuz; Sadece Adını Koymuyorsunuz
Spagetti karşıtı bir profil, çoğu zaman CV'de zaten vardır. Yapılması gereken, onu farklı kelimelerle ifade etmek yerine, doğru kelimelerle görünür kılmaktır. Bir yazılımcının "refactor" kelimesini hiç yazmamış olması, refactor yapmadığı anlamına gelmez; sadece bunu CV diline çevirmemiş olması anlamına gelir.
Aynı şekilde, kod incelemesi yapan, test kapsamı artıran, mimari kararlara imza atan, süreçleri standartlaştıran geliştiriciler de bu deneyimlerini yazmayı unutmuş olabilir. CV hazırlama süreci, aynı zamanda kendi geçmişinizi yeniden okuma sürecidir. Her maddede, "bu cümle, okuyan kişide nasıl bir iz bırakır?" sorusu yeniden sorulmalıdır.
"spagetti kod yazmam" demek, kod kaliteniz hakkında sessiz kalmak ile gürültü yapmak arasında bir orta yol değildir; daha ziyade, doğru yere yerleştirilmemiş bir orta yol cümlesidir. Asıl iş, o cümleyi hiç kurmadan, deneyim satırlarının kendi kendine kurduğu hikâyeyi yazmaktır. Kod kalitenizi anlatan en güçlü cümle, büyük olasılıkla zaten geçmişinizde bulunuyordur; sadece henüz CV'nize taşınmamış olabilir.
ATS uyumlu CV'ni dakikalar içinde hazırla.
Ücretsiz Başla