İçeriğe geç
CV

Yazılım Geliştirici Nasıl Olunur? Eğitim, Beceriler ve Yol Haritası

Kariyer Ekibi 6 dk okuma

Yazılımcı olmak için üniversite mi, bootcamp mi, kendi kendine öğrenme mi? Uzmanlık alanları, adım adım öğrenme yol haritası, portfolyo projeleri ve ilk iş için CV ipuçları.

Yazılım geliştirici olmanın tek bir resmî yolu yoktur: bilgisayar veya yazılım mühendisliği lisansıyla, bilgisayar programcılığı ön lisansıyla, yoğun eğitim programlarıyla (bootcamp) ya da kendi kendine öğrenerek bu mesleğe girilebilir. Hangi yolu seçerseniz seçin, işverenin görmek istediği şey benzerdir: sağlam programlama temeli, Git ile çalışma alışkanlığı, bir alanda derinleşmiş beceri ve bunların hepsini gösteren birkaç iyi proje. Bu rehberde önce mesleği ve uzmanlık alanlarını, sonra eğitim yollarını, öğrenme sırasını ve ilk işe giden portfolyo planını anlatıyoruz.

Yazılım geliştirici ne iş yapar?

Yazılım geliştirici, bir ihtiyacı çalışan bir programa dönüştüren kişidir. Kod yazmak işin önemli bir parçasıdır ama tamamı değildir. Tipik bir iş haftasında şunlar yer alır:

  • Ürün yöneticisi, analist veya müşteriyle birlikte isteğin ne olduğunu netleştirmek
  • Kodu yazmak, test etmek ve hataları ayıklamak
  • Ekip arkadaşlarının kodunu incelemek (code review) ve kendi kodu için geri bildirim almak
  • Canlıdaki sistemde çıkan sorunları çözmek, eski kodu bakım ve iyileştirmeyle güncel tutmak
  • Yaptığı işi belgelemek ve ekip toplantılarında ilerlemeyi paylaşmak

Bu yüzden iletişim, yazılı anlatım ve İngilizce dokümantasyon okuyabilmek, teknik bilgi kadar önemlidir.

Uzmanlık alanları: backend, frontend, mobil, veri

Başlangıçta “yazılımcı olmak” geniş bir hedeftir; iş ilanları ise genellikle belirli bir alan için açılır. Aşağıdaki tablo yaygın alanları ve örnek teknolojileri gösteriyor. Listeler eksiksiz değildir, yalnızca yön vermek içindir.

AlanNe yapar?Örnek teknolojiler
BackendSunucu tarafı iş kuralları, veritabanı, API’lerJava, C#/.NET, Python, PHP, Node.js, SQL
FrontendKullanıcının tarayıcıda gördüğü arayüzHTML, CSS, JavaScript, TypeScript, React, Vue, Angular
MobilAndroid ve iOS uygulamalarıKotlin, Swift, Flutter, React Native
VeriVeri hatları, analiz, raporlama, makine öğrenmesiPython, SQL, pandas, veri ambarı araçları
DevOps / altyapıYazılımın derlenmesi, yayına alınması ve izlenmesiLinux, Docker, CI/CD araçları, bulut servisleri

Her iki tarafı da yapan geliştiricilere “full-stack” denir. İlk işte bir alanda iyi olmak, her alanda yüzeysel olmaktan genellikle daha değerlidir. Arayüz tarafı ilginizi çekiyorsa frontend geliştirici CV örneği, ilanlarda hangi becerilerin öne çıktığını görmek için iyi bir başlangıçtır.

Eğitim yolları karşılaştırması

Türkiye’de yazılım geliştiricilerin geldiği dört ana yol var. Maliyet ve süre kişiden kişiye değiştiği için tabloda rakam yerine genel bir çerçeve verdik:

YolSüreMaliyet tipiAvantajıRiski
Lisans (bilgisayar veya yazılım mühendisliği vb.)4 yıl, varsa hazırlıkla daha uzunDevlet veya vakıf üniversitesine göre değişirAlgoritma, veri yapıları gibi güçlü teorik temel; diploma şartı olan ilanlara erişim; staj imkânıUzun süre; ders dışında proje yapılmazsa pratik eksik kalabilir
Ön lisans (bilgisayar programcılığı)2 yılOkul türüne göre değişirHızlı başlangıç, uygulamalı dersler; DGS ile lisansa geçiş imkânıBazı ilanlarda lisans şartı aranabilir
Bootcamp / yoğun programBirkaç ayÜcretli, burslu veya sponsorlu olabilirProje odaklı, hızlı, ekip çalışması deneyimiKalite farkı büyük; temeli yüzeysel bırakabilir; “iş garantisi” vaatleri dikkatle okunmalı
Kendi kendine öğrenmeKişinin temposuna bağlıÇoğunlukla ücretsiz veya düşük maliyetli kaynaklarEsnek; çalışırken öğrenme imkânıYön kaybı, disiplin gerektirir; portfolyo olmadan ikna etmek zor

Bölümü farklı olanlar için de kapı kapalı değildir. Matematik, fizik, istatistik, elektrik-elektronik ya da hiç ilgisiz bir bölümden gelip yazılıma geçen çok sayıda kişi vardır. Bu durumda işverenin güvenini diplomanın yerine projeleriniz ve teknik görüşmedeki performansınız kazanır.

Öğrenme yol haritası

En sık yapılan hata, aynı anda üç dil ve beş framework’e başlamaktır. Aşağıdaki sıra çoğu alan için işe yarar; her adımda “bitti sayılır” sütununa ulaşmadan bir sonrakine geçmeyin.

AşamaÖğrenileceklerBitti sayılır, eğer…
1. TemellerDeğişken, koşul, döngü, fonksiyon; liste ve sözlük gibi veri yapıları; komut satırıYardım almadan küçük bir konsol uygulaması (ör. yapılacaklar listesi) yazabiliyorsanız
2. GitCommit, branch, merge, pull request; GitHub’da depo ve READMEHer çalışmanız anlamlı commit mesajlarıyla bir depoda duruyorsa
3. Bir dil ve bir alanHedef alanın ana dili ve en yaygın framework’üDokümantasyona bakarak yeni bir özelliği kendiniz ekleyebiliyorsanız
4. VeritabanıSQL temelleri (SELECT, JOIN, GROUP BY), tablo tasarımıBir uygulamanın verisini ilişkisel tablolarla modelleyebiliyorsanız
5. Web ve APIHTTP, REST, JSON, kimlik doğrulama temelleriBir API’yi hem kullanabiliyor hem basit bir tane yazabiliyorsanız
6. Test ve hata ayıklamaBirim testi, debugger kullanımı, log okumaHata mesajından sorunun yerini bulabiliyorsanız
7. Uçtan uca projeTasarım, geliştirme, test ve yayına almaBaşkasının internetten açıp kullanabildiği bir uygulamanız varsa

Bu aşamalar boyunca İngilizce okumayı ihmal etmeyin. Hata mesajları, dokümantasyon ve soru-cevap kaynaklarının büyük bölümü İngilizcedir; teknik metni okuyup anlayabilmek, konuşma akıcılığından önce gelen bir ihtiyaçtır.

Portfolyo ve ilk iş

Deneyimi olmayan bir aday için portfolyo, iş deneyiminin yerini tutan kanıttır. Eğitim videosunu adım adım takip ederek yapılan on proje yerine, kendi kararlarınızı verdiğiniz iki üç proje çok daha ikna edicidir.

Alana göre proje fikirleri

  • Frontend: Harcamaları kategoriye göre gösteren kişisel bütçe uygulaması; mobil uyumlu, gerçek bir API’den veri çeken bir arayüz.
  • Backend: Kuaför veya klinik için randevu sistemi API’si; kullanıcı girişi, çakışma kontrolü ve testleriyle birlikte.
  • Mobil: İnternet yokken de çalışan, sonra senkronize olan bir not veya alışveriş listesi uygulaması.
  • Veri: Kamuya açık bir veri setini temizleyip analiz eden ve sonucu grafiklerle anlatan bir çalışma defteri.

İyi bir proje deposunda neler olur?

  • Projenin ne işe yaradığını, nasıl çalıştırılacağını ve hangi teknolojilerin kullanıldığını anlatan bir README
  • Ekran görüntüsü veya canlı demo bağlantısı
  • Düzenli commit geçmişi ve en azından ana akışları kapsayan testler
  • “Bu projede neyi zor buldum, nasıl çözdüm?” sorusuna kısa bir cevap

İlk işe giden kanallar

Staj ve uzun dönem staj programları, “junior” veya “yeni mezun” etiketli ilanlar, kariyer günleri, açık kaynak projelere katkı ve küçük serbest işler ilk deneyimi kazanmanın yaygın yollarıdır. Teknik görüşmelerde genellikle temel algoritma soruları, canlı kodlama ya da ev ödevi ve projelerinizi anlatmanız beklenir; bu yüzden kendi projenizin her satırını açıklayabilecek durumda olun.

CV ve ön yazı ipuçları

Yazılım CV’sinde işvereni ilk ilgilendiren şey, ne yaptığınızı görebileceği bağlantılardır.

  • Bağlantılar en üstte: GitHub ve varsa portfolyo adresinizi iletişim bilgilerinin yanına koyun. CV oluşturucudaki GitHub alanını doldurursanız bağlantı CV’de görünür; isterseniz QR kod da ekleyebilirsiniz.
  • Projeler ayrı bölüm: Deneyiminiz azsa projeleri iş deneyiminin üstüne taşıyın.
  • Teknolojileri gruplayın: “Diller: Java, SQL · Framework: Spring Boot · Araçlar: Git, Docker” gibi bir düzen, tek tek yıldızlı çubuklardan daha okunaklıdır.
  • İlandaki adlarla yazın: İlan “React” diyorsa sizin CV’nizde de aynı adın geçmesi, aday takip sistemlerinde eşleşmeyi kolaylaştırır.

Proje maddesi için önce ve sonra örneği:

Önce: “Bir web sitesi yaptım.”

Sonra: “React ve Node.js ile küçük restoranlar için masa rezervasyon uygulaması geliştirdim; çakışan rezervasyonları engelleyen API’yi testlerle güvenceye aldım, uygulama canlı demo bağlantısıyla yayında.”

Hazır bir iskelet görmek isterseniz yazılım geliştirici CV örneğini açıp kendi bilgilerinizle düzenleyebilirsiniz. Ön yazıda ise genel cümleler yerine şirketin ürünüyle ya da kullandığı teknolojilerle bağ kurun: “Ürününüzün mobil uygulamasını kullanırken fark ettiğim…” gibi bir giriş, ezber bir paragraftan çok daha akılda kalır. Mesleğe özel kalıplar için yazılım geliştirici ön yazı örneğine bakabilirsiniz.

Sık sorulan sorular

Yazılımcı olmak için ileri matematik bilmek şart mı?

Web ve mobil uygulama geliştirmenin büyük bölümünde temel matematik ve mantıksal düşünme yeterlidir. Oyun motorları, grafik, makine öğrenmesi ve veri bilimi gibi alanlarda ise doğrusal cebir, olasılık ve istatistik bilgisi daha fazla gerekir.

Hangi programlama diliyle başlamalıyım?

Hedef alanınıza göre seçin: web arayüzü için JavaScript, veri için Python, kurumsal backend için Java veya C# yaygın tercihlerdir. İlk dilde temel kavramları oturttuktan sonra ikinci dili öğrenmek çok daha hızlı olur.

İlk işi bulmak ne kadar sürer?

Kesin bir süre vermek mümkün değildir; başladığınız seviye, haftada ayırabildiğiniz zaman, seçtiğiniz alan ve iş piyasasının durumu belirleyicidir. Süreyi kısaltan şey, öğrenmeyi proje üreterek yapmak ve başvurulara portfolyonuz hazır olmadan değil, ilk iyi projeniz bittiğinde başlamaktır.

Bölümüm farklı, yaşım da ilerledi; geç mi kaldım?

Geç kalmış sayılmazsınız; yazılım, farklı alanlardan geçişin mümkün olduğu mesleklerden biridir. Sizden beklenen, öğrendiklerinizi projelerle kanıtlamanızdır. Önceki sektör bilginiz bir avantaj da olabilir: muhasebe geçmişi olan bir geliştirici finans yazılımlarında, sağlık geçmişi olan biri sağlık uygulamalarında fark yaratabilir.

İlk projeniz yayında olduğunda CV’nizi hazırlamanın zamanı gelmiştir. Ücretsiz CV oluşturucuda GitHub ve portfolyo bağlantılarınızı ekleyip Projeler bölümünü öne alabilir, CV’nizi Türkçe veya İngilizce olarak PDF ya da Word biçiminde indirebilirsiniz.

Paylaş: LinkedIn X WhatsApp

Öğrendiklerinizi uygulamaya koyun

Ücretsiz, üyeliksiz ve dakikalar içinde profesyonel bir CV oluşturun.

Hemen CV Oluştur