İçeriğe atla
md ~/rehber

Bilgisayar Mühendisliği Rehberi

Bölümde her şeyi aynı anda öğrenmeye çalışmak yerine sağlam basman gereken ana dersleri, bunları hangi sırayla çalışacağını ve mezun olunca seçebileceğin mesleklerin yol haritalarını bir araya getirdim.

Ana dersler

Okulun hangisi olursa olsun, bölümün omurgası bu dersler. Adları ve dönemleri okuldan okula değişir ama anlattıkları aynıdır. Her biri için bir kitap ve bir video ders önerdim; ikisini birlikte götürmek en iyisi.

Meslekler

Bilgisayar mühendisliği tek bir mesleğe çıkmıyor: aynı diplomayla web uygulaması da yazabilirsin, ağ altyapısı da kurabilirsin, model de eğitebilirsin. Aşağıda en yaygın meslekleri, her birinin temel yol haritasını ve günün çoğunun neyle geçtiğini yazdım.

Her işin kendini tekrar eden, sıkıcı tarafları var. Önemli olan o tarafları kendine has bir şekilde sevebilmek; insan sevdiği işi sıkılmadan yapar. Seçerken işin parlak tarafına değil, her gün tekrar edeceğin kısmına bak.

Uygulama geliştirme

Frontend Geliştirici

Kullanıcının tarayıcıda gördüğü ve tıkladığı her şeyi yapar: sayfalar, formlar, etkileşimler.

Temel yol haritası

  1. 1HTML ve CSS
  2. 2JavaScript
  3. 3Git
  4. 4Bir framework (React, Vue)
  5. 5TypeScript
  6. 6Erişilebilirlik ve performans
  7. 7Test

İşin çoğu: Tasarımı ekrana dökmek, farklı ekran boyutlarında bozulan yerleri düzeltmek, API'den gelen veriyi göstermek, tarayıcı farklarıyla uğraşmak. Bir düğmenin hizasıyla yarım saat uğraştığın günler olur.

Nasıl başlarsın: Sade HTML, CSS ve JavaScript ile küçük sayfalar yap, sonra bir framework öğren. Yaptıklarını yayına al; canlı link, en iyi portfolyodur.

Backend Geliştirici

Uygulamanın görünmeyen tarafını yazar: API'ler, iş kuralları, veritabanı, kimlik doğrulama.

Temel yol haritası

  1. 1Bir dil (Java, C#, Go, Python, Node.js)
  2. 2HTTP ve REST
  3. 3SQL ve veritabanı
  4. 4Kimlik doğrulama
  5. 5Önbellek
  6. 6Test
  7. 7Docker ve yayına alma

İşin çoğu: Yeni uç noktalar (endpoint) yazmak, veritabanı sorgularını iyileştirmek, log okuyup hatanın nerede olduğunu bulmak, başkasının yazdığı kodu anlamak. Kodun çoğu "veriyi al, doğrula, kaydet, döndür" döngüsüdür.

Nasıl başlarsın: Bir dil ve framework seç, veritabanı kullanan küçük bir API yaz (ör. not defteri), sonra kullanıcı girişi ve test ekle.

Full Stack Geliştirici

Hem arayüzü hem sunucuyu yazar; bir özelliği baştan sona tek başına çıkarabilir.

Temel yol haritası

  1. 1HTML
  2. 2CSS ve JavaScript
  3. 3Bir frontend framework
  4. 4Bir backend dili
  5. 5SQL
  6. 6Kimlik doğrulama
  7. 7Yayına alma

İşin çoğu: Bir gün arayüzde form düzeltirsin, ertesi gün veritabanına sütun eklersin. Küçük ekiplerde ve girişimlerde yaygındır; her şeyi biraz bilmek gerekir, hiçbirinde uzmanlaşmak için çok zaman kalmaz.

Nasıl başlarsın: Önce frontend ya da backend'den birinde rahatla, sonra öbür tarafı ekle. Veritabanlı, girişli, yayında bir proje en iyi kanıttır.

Mobil Geliştirici

Telefon ve tablet uygulamaları yazar; yerel (Kotlin, Swift) ya da çapraz platform (React Native, Flutter).

Temel yol haritası

  1. 1Bir dil (Kotlin, Swift ya da Dart, JavaScript)
  2. 2Arayüz bileşenleri
  3. 3Durum yönetimi
  4. 4API ile çalışma
  5. 5Yerel depolama
  6. 6Mağazaya yayınlama

İşin çoğu: Ekranlar arası geçişler, farklı cihaz ve ekran boyutlarında test, izinler, mağaza kurallarına uymak. Bir hatanın yalnızca belirli bir telefon modelinde çıktığı günler olur.

Nasıl başlarsın: Önce yerel mi çapraz platform mu karar ver, sonra kendi telefonunda kullanacağın küçük bir uygulama yap ve bitir.

Oyun Geliştirici

Oyun mekaniklerini, fiziği, yapay zekâyı ve araçları kodlar; genelde Unity ya da Unreal ile.

Temel yol haritası

  1. 1C# ya da C++
  2. 2Lineer cebir temelleri
  3. 3Bir oyun motoru (Unity, Unreal, Godot)
  4. 4Fizik ve çarpışma
  5. 5Oyun yapay zekâsı
  6. 6Performans

İşin çoğu: Bir mekaniği yüzlerce kez deneyip ayarlamak, kare hızını (FPS) düşüren yeri bulmak, sanatçı ve tasarımcıların araçlarını yazmak. Eğlenceli görünen işin büyük kısmı ince ayar ve hata ayıklamadır.

Nasıl başlarsın: Küçük ve bitmiş oyunlar yap: önce Pong, sonra bir platform oyunu. Game jam'lere katılmak bitirme alışkanlığı kazandırır.

Test ve Kalite (QA) Mühendisi

Yazılımın doğru çalıştığından emin olur; test senaryoları yazar, testleri otomatikleştirir.

Temel yol haritası

  1. 1Test türleri
  2. 2Test senaryosu yazma
  3. 3Bir programlama dili
  4. 4Otomasyon araçları (Playwright, Selenium)
  5. 5API testi
  6. 6CI ile testleri çalıştırma

İşin çoğu: Aynı akışı farklı girdilerle tekrar tekrar denemek, hatayı başkasının tekrar üretebileceği şekilde raporlamak, kırılan otomatik testleri düzeltmek. Ayrıntıya dikkat ve sabır ister.

Nasıl başlarsın: Kendi projelerine birim testleri yaz, sonra Playwright ile bir web sitesinin giriş akışını otomatik test et.

Veri ve yapay zekâ

Veri Bilimci

Veriden soru sorup cevap çıkarır; istatistik ve makine öğrenmesiyle tahmin modelleri kurar.

Temel yol haritası

  1. 1Python
  2. 2Olasılık ve istatistik
  3. 3Lineer cebir
  4. 4pandas ve görselleştirme
  5. 5SQL
  6. 6Makine öğrenmesi
  7. 7Modeli değerlendirme

İşin çoğu: Zamanın büyük kısmı veriyi bulmak, temizlemek ve anlamakla geçer; model kurmak işin küçük bir parçasıdır. Sonuçları teknik olmayan birine anlatmak da işin parçası.

Nasıl başlarsın: Kaggle'daki gerçek bir veri setiyle baştan sona bir analiz yap: temizle, görselleştir, basit bir model kur, sonucu kısa bir rapor olarak yaz.

Yapay Zekâ Mühendisi

Hazır ya da eğitilmiş modelleri gerçek ürünlere bağlar: LLM uygulamaları, RAG, ajanlar.

Temel yol haritası

  1. 1Python
  2. 2API'lerle çalışma
  3. 3LLM temelleri ve prompt yazma
  4. 4Gömme (embedding) ve vektör veritabanları
  5. 5RAG
  6. 6Değerlendirme
  7. 7Güvenlik ve maliyet

İşin çoğu: Modelin yanlış cevap verdiği örnekleri toplamak, prompt'u ve veriyi düzeltip tekrar ölçmek, gecikme ve maliyeti düşürmek. Sonuç her seferinde biraz farklı çıktığı için sabırlı ve ölçmeye alışkın olmak gerekir.

Nasıl başlarsın: Kendi belgelerinden soru cevaplayan küçük bir RAG uygulaması yap; cevapların ne kadar doğru olduğunu ölçen bir test seti hazırla.

Veri Mühendisi

Verinin doğru, zamanında ve kullanılabilir şekilde akmasını sağlar: veri hatları, ambarlar.

Temel yol haritası

  1. 1SQL
  2. 2Python
  3. 3Veri modelleme
  4. 4ETL ve veri hatları
  5. 5Veri ambarı
  6. 6Dağıtık işleme (Spark)
  7. 7Bulut ve iş zamanlama

İşin çoğu: Gece çalışan bir işin neden düştüğünü bulmak, gelen verideki bozukluklarla uğraşmak, yavaş sorguları hızlandırmak. Veri bilimcilerin ve analistlerin işi bu temelin üstünde durur.

Nasıl başlarsın: Bir açık API'den her gün veri çekip veritabanına yazan, sonra özet tablo üreten küçük bir veri hattı kur.

Veri Analisti

İş sorularına veriyle cevap verir; raporlar ve panolar hazırlar.

Temel yol haritası

  1. 1Excel
  2. 2SQL
  3. 3Temel istatistik
  4. 4Python ya da R
  5. 5Görselleştirme (Power BI, Tableau)
  6. 6Sonucu anlatma

İşin çoğu: Her hafta benzer raporları güncellemek, "bu ay satış neden düştü" sorusunun cevabını aramak, panoları düzenlemek. Doğru soruyu sormak, doğru grafiği çizmekten daha önemlidir.

Nasıl başlarsın: Açık bir veri setiyle SQL soruları çöz ve sonuçları tek sayfalık bir panoda anlat.

Altyapı, güvenlik ve donanım

DevOps ve Bulut Mühendisi

Yazılımın derlenip test edilmesini, yayına alınmasını ve sunucularda ayakta kalmasını sağlar.

Temel yol haritası

  1. 1Linux ve kabuk
  2. 2Ağ temelleri
  3. 3Git
  4. 4Docker
  5. 5CI/CD
  6. 6Bir bulut sağlayıcı (AWS, Azure, GCP)
  7. 7Kubernetes
  8. 8İzleme ve loglama

İşin çoğu: Yayın hatlarını (pipeline) düzeltmek, yapılandırma dosyaları yazmak, sunucu ve maliyet takibi, gece gelen alarmlara bakmak. İşin çoğu tekrar eden şeyleri otomatikleştirmektir.

Nasıl başlarsın: Kendi projeni Docker'a koy, GitHub Actions ile her push'ta testleri çalıştır ve ücretsiz bir bulut hizmetine otomatik yayınla.

Siber Güvenlik Uzmanı

Sistemleri saldırılara karşı korur; açıkları bulur, olayları inceler.

Temel yol haritası

  1. 1Ağ temelleri
  2. 2Linux
  3. 3İşletim sistemi güvenliği
  4. 4Kriptografi temelleri
  5. 5Web güvenliği (OWASP)
  6. 6Bir betik dili
  7. 7Sızma testi ya da olay müdahalesi

İşin çoğu: Savunma tarafında log ve alarm incelemek, yamaların takibi, kural yazmak; saldırı tarafında rapor yazmak da işin büyük kısmıdır. Filmlerdeki gibi değil, çoğu gün sabırlı inceleme ve belgelemedir.

Nasıl başlarsın: Ağlar ve Linux'ta sağlamlaş, sonra TryHackMe ya da Hack The Box'ta yasal alıştırma ortamlarında çalış; çözdüklerini yazıya dök.

Ağ Mühendisi

Kurumların ağ altyapısını kurar ve işletir: yönlendiriciler, anahtarlar, güvenlik duvarları.

Temel yol haritası

  1. 1OSI ve TCP/IP
  2. 2Alt ağ hesapları
  3. 3Yönlendirme ve anahtarlama
  4. 4VLAN
  5. 5Güvenlik duvarı ve VPN
  6. 6Ağ otomasyonu

İşin çoğu: Cihaz yapılandırmak, bağlantı sorunlarını katman katman ayıklamak, değişiklikleri bakım saatlerinde yapmak, belgelemek. Sorun çıktığında herkes ilk sana bakar.

Nasıl başlarsın: Packet Tracer ya da GNS3 ile sanal bir ağ kur; alt ağ hesaplarını ve yönlendirmeyi elle yapılandır.

Gömülü Sistemler Mühendisi

Donanımın içinde çalışan yazılımı yazar: mikrodenetleyiciler, sensörler, otomotiv ve beyaz eşya.

Temel yol haritası

  1. 1C
  2. 2Sayısal elektronik
  3. 3Mikrodenetleyiciler
  4. 4Çevre birimleri (GPIO, UART, SPI, I2C)
  5. 5Gerçek zamanlı işletim sistemleri
  6. 6Hata ayıklama araçları

İşin çoğu: Veri sayfası (datasheet) okumak, kısıtlı bellek ve işlemciyle çalışmak, osiloskop ve hata ayıklayıcıyla bir sinyali saatlerce izlemek. Hata yazılımda mı donanımda mı, bulmak bazen günler sürer.

Nasıl başlarsın: Bir Arduino ya da STM32 kartıyla sensör okuyan küçük bir proje yap; sonra kütüphane kullanmadan yazmaçlara doğrudan erişmeyi dene.

Nasıl çalışılır

  • Önce temele bas

    Framework'ler birkaç yılda değişir, ana dersler değişmez. Ana dersleri geçmek için değil anlamak için çalış; yeni bir teknolojiyi öğrenmek o zaman çok daha kolay olur.

  • İzlemek öğrenmek değil

    Video ya da slayt seni bir yere kadar götürür. Her konudan sonra kitabı kapat ve kodu kendin yaz; takıldığın yer, öğrenmen gereken yerdir.

  • Her dersten bir proje çıkar

    Veri yapılarından bir kütüphane, işletim sistemlerinden küçük bir kabuk, ağlardan bir sohbet programı. Notlar unutulur, yaptığın projeler GitHub'da kalır.

  • Git'i erken öğren

    Ödevlerini bile Git ile tut. Commit, branch ve pull request iş hayatında her gün kullanacağın şeyler; okulda alışmak en ucuz yol.

  • İngilizce okumaya alış

    Belgelerin, hata mesajlarının ve en iyi kaynakların çoğu İngilizce. Başta yavaş okuman normal; her gün biraz okumak birkaç ayda fark yaratır.

  • Mesleği acele seçme

    Meslekler bölümündekilerden ikisini üçünü küçük projelerle dene. Neyi okurken değil, neyi yaparken zamanın nasıl geçtiğini anlamadığına bak.

Kaynaklar

Dersler ve kurslar

  • CS50x (Harvard)

    Bilgisayar bilimine en iyi giriş derslerinden biri: C, Python, SQL ve web. Ücretsiz ve ödevleriyle birlikte.

  • The Missing Semester (MIT)

    Okulda öğretilmeyen ama her gün kullanacağın araçlar: terminal, Git, editör, hata ayıklama.

  • MIT OpenCourseWare

    MIT'nin derslerinin videoları, notları ve ödevleri. Algoritmalar, lineer cebir ve daha fazlası.

  • Nand2Tetris

    NAND kapısından başlayıp kendi bilgisayarını, derleyicini ve işletim sistemini kurduğun proje tabanlı kurs.

  • Teach Yourself Computer Science

    Bilgisayar biliminin dokuz temel konusu için en iyi kitap ve ders önerileri.

Kitaplar

Videolar

  • 3Blue1Brown

    Lineer cebir, kalkülüs ve sinir ağlarını görselleriyle anlatan videolar.

  • Ben Eater

    Breadboard üzerinde 8 bitlik bir bilgisayarı kapı kapı kurduğu video serisi; mantık devreleri ve mimari için.

Araçlar

Kod yazmak

Terminal ve sistem

  • WSL (Windows Subsystem for Linux)

    Windows'ta gerçek bir Linux ortamı; sistem programlama ve sunucu dersleri için ideal.

  • Docker

    Uygulamayı ve bağımlılıklarını kapsayıcıda çalıştırır; "bende çalışıyordu" sorununu bitirir.

  • Postman

    API isteklerini deneyip kaydetmek için.

Çizim ve tasarım

  • draw.io

    UML, ER ve akış diyagramları için ücretsiz çizim aracı.

  • Excalidraw

    El çizimi görünümlü hızlı diyagramlar; sunum ve not için.

  • Logisim Evolution

    Mantık devrelerini çizip simüle etmek için.

  • Figma

    Arayüz tasarımı ve prototip; eğitim planı öğrencilere ücretsiz.

Not ve çalışma

  • Overleaf

    Tarayıcıda LaTeX: rapor, tez ve makale yazmak için.

  • Obsidian

    Markdown ile birbirine bağlı notlar; ders notları için.

  • Anki

    Aralıklı tekrarla ezber kartları; formüller ve kavramlar için.

  • Zotero

    Kaynakları toplayıp rapora otomatik kaynakça eklemek için.

GitHub repoları

Yol haritaları

Öğrenme

Mülakat

Proje fikirleri

Web siteleri

Pratik ve yarışma

  • LeetCode

    Mülakat tarzı algoritma soruları.

  • HackerRank

    Konu konu alıştırmalar ve sertifika sınavları.

  • Codeforces

    Düzenli programlama yarışmaları.

  • Exercism

    Onlarca dilde alıştırma ve gönüllü mentor geri bildirimi.

  • Advent of Code

    Her aralık ayında 25 günlük bulmaca serisi.

Belgeler

  • MDN Web Docs

    HTML, CSS ve JavaScript için en güvenilir başvuru.

  • cppreference

    C ve C++ için başvuru kaynağı.

  • DevDocs

    Birçok dilin ve kütüphanenin belgeleri tek yerde, aranabilir.

  • roadmap.sh

    Rol ve teknolojiye göre öğrenme yol haritaları.

Görselleştirme

  • VisuAlgo

    Veri yapılarını ve algoritmaları adım adım animasyonla gösterir.

  • Python Tutor

    Kodun bellekte ne yaptığını satır satır görselleştirir (Python, C, Java).

  • Big-O Cheat Sheet

    Veri yapısı ve algoritmaların karmaşıklık tablosu.

  • regex101

    Düzenli ifadeleri açıklamalarıyla deneyip test etmek için.

Türkçe kaynaklar

  • BTK Akademi

    Bilgi Teknolojileri ve İletişim Kurumu'nun ücretsiz, sertifikalı Türkçe eğitimleri.

  • Patika.dev

    Türkçe ücretsiz yazılım eğitimleri ve bootcamp'ler.

  • Yetenek Kapısı

    Kamu kurumlarının staj ve işe alım programlarının başvuru platformu.