Junior Backend Developer 2026
Türkiye ve dünyadaki junior backend ilanlarında Go veya C#'ın yanına Kubernetes, Kafka, AWS Mimari, Redis Cluster ve Mikroservisler yığılıyor. Şirketler 4 kişilik altyapı ekibinin yükünü tek bir junior'a yıkmaya çalışıyor.
20 farklı teknolojiyi yüzeysel ezberlemek seni işe sokmaz; işe sokacak tek şey mimarisini, güvenliğini ve veritabanını savunabildiğin çalışan TEK BİR canlı API projesidir. Adım adım ilerle, konuları incele ve öğrendiklerini işaretle.
- Temelİşe girmeden önce sağlam bilinmeli
- İyi olurİlanlarda sık geçiyor, elini güçlendirir
- Sonraİşe girdikten sonra, ihtiyaç doğunca
Bir konuya tıkla: ne bilmen gerektiği ve kaynaklar açılır.
- 01
Temel ve Web Protokolleri
API'lerin konuştuğu evrensel kurallar ve arkasındaki mantık. Dil bağımsızdır, her backend geliştiricinin ortak alfabesidir.
- 02
Veritabanı ve SQL
Backend'in asıl kalbi. Arayüzler ve diller değişir, ama verinin doğruluğu ve ilişkileri daima ayakta kalır.
- 03
Kimlik Doğrulama ve Güvenlik
Bir backend geliştiriciyi hobi kodlayıcısından ayıran alan. Veri güvenliğini sağlamayan bir API canlıya çıkamaz.
- 04
İşe Hazırlık ve Gerçek Proje
Seni binlerce adayın önüne geçirecek kısım. Sadece kod yazmak değil; paketlemek, dokümante etmek ve canlıya almak.
- 05
Sonradan Öğrenilebilecekler
Junior ilanlarında kopyala-yapıştır yapılan ama işe girmek için şart OLMAYAN konular. Şirketteki production ihtiyacına göre ekiple öğrenilir.
Konu konu
Haritadaki her konunun açıklaması, bilmen gerekenler ve kaynaklar — tek listede.
01Temel ve Web Protokolleri
HTTP Protokolü ve REST· Temel
Backend'in dış dünyaya açılan kapısı. HTTP metotlarını ve durum kodlarını doğru kullanamayan bir backend geliştirici sürekli frontend ile çatışır.
Bilmen gerekenler
- HTTP Metotları: GET, POST, PUT, PATCH, DELETE semantiği ve idempotent kavramı
- Durum Kodları: 200, 201, 204, 400, 401, 403, 404, 409, 422, 500 farkları
- Başlıklar (Headers): Content-Type, Authorization, Accept, Cache-Control
- REST Prensipleri: Stateless yapı, kaynak (resource) odaklı URL tasarımı ve JSON formatı
Kaynaklar
İstek Yaşam Döngüsü· Temel
Bir istek tarayıcıdan çıktığı andan Controller'a, Servis katmanına ve veritabanına gidip dönene kadar hangi duraklardan geçer?
Bilmen gerekenler
- Middleware mantığı: İstek doğrulama, loglama, hata yakalama (global error handler)
- Query params, Route params ve Request Body farkları
Postman / Bruno / cURL· Temel
Backend kodunu yazarken frontend'i beklemeden kendi uçlarını test etmenin ve debug etmenin günlük aracı.
Kaynaklar
Tek Bir Backend Dili· Temel
Diller arasında sürekli geçiş yapmayı bırak. Türkiye pazarında Go, Node.js (TypeScript) veya C# (.NET) dillerinden birini seç ve derinleş.
Bilmen gerekenler
- Dili sadece sözdizimiyle değil; bellek yönetimi, tip güvenliği ve standart kütüphanesiyle kavramak
- Asenkron programlama: Event loop / Goroutines / Async-Await & Threading
- Dosya I/O, Streams ve ortam değişkenlerini (.env) güvenli okumak
Kaynaklar
Hata Yönetimi ve Logging· Temel
Kodu try-catch çöplüğüne çevirmeden, beklenmeyen hatalarda sunucunun çökmesini engelleyen merkezi hata yönetimi kurmak.
Bilmen gerekenler
- İç hataları kullanıcıya sızdırmamak (500 Stack Trace gizleme)
- Yapılandırılmış loglama (JSON loglar, log seviyeleri: INFO, WARN, ERROR)
Konfigürasyon Yönetimi· Temel
Veritabanı şifreleri ve gizli anahtarlar asla koda gömülmez. .env dosyasından okumak ve .gitignore ile korumak.
02Veritabanı ve SQL
PostgreSQL & İlişkisel SQL· Temel
NoSQL ve MongoDB modasına kapılma; sektörün %90'ı ilişkisel veritabanı ister. PostgreSQL bilmek seni her backend mülakatında öne geçirir.
Bilmen gerekenler
- Temel CRUD ve filtreleme: SELECT, INSERT, UPDATE, DELETE, WHERE, GROUP BY, HAVING
- Tablo İlişkileri: One-to-Many, Many-to-Many, Primary Key ve Foreign Key kısıtları
- JOIN Türleri: INNER JOIN, LEFT JOIN, FULL JOIN farkları ve ne zaman hangisi kullanılır
- ACID Prensipleri: Atomicity, Consistency, Isolation, Durability ve Transaction (COMMIT / ROLLBACK)
Kaynaklar
Index Mantığı (B-Tree)· Temel
Milyonluk tabloda arama neden 3 saniye sürer, CREATE INDEX ile nasıl 2 milisaniyeye düşer? Index maliyetleri ve EXPLAIN sorgusu.
Bilmen gerekenler
- Full Table Scan vs Index Scan farkı
- Her kolona index atmanın yazma (INSERT/UPDATE) maliyeti
Transaction ve Tutarlılık· Temel
Para transferi yaparken A hesabından düşüp B hesabına eklenemezse ne olur? İki işlemi tek bir atomik pakette çalıştırmak.
ORM ve Migration Yönetimi· Temel
Veritabanı şemasını koda dökmek. ORM hayatı kolaylaştırır ama arkada ürettiği SQL'i bilmeyen geliştirici N+1 hatasına düşer.
Bilmen gerekenler
- Diline uygun tek bir ORM/Query Builder seç: Prisma, TypeORM, GORM, EF Core veya Dapper
- N+1 Sorgu Problemi: 100 kullanıcıyı ve siparişlerini çekerken veritabanına 101 sorgu atmamak
- Database Migrations: Şema değişikliklerini takım arkadaşlarıyla ve sunucuyla senkronize etmek
Kaynaklar
N+1 Problemi ve Çözümü· Temel
Mülakatlarda en sık sorulan performans sorusu. Eager loading, JOIN ve DataLoader mekanizmaları.
Raw SQL Ne Zaman Yazılır?· İyi olur
Raporlama veya karmaşık aggregate sorgularında ORM'i bırakıp doğrudan SQL çalıştırmayı bilmek.
03Kimlik Doğrulama ve Güvenlik
Kimlik Doğrulama (Auth)· Temel
Kullanıcı kimdir ve bu işlemi yapmaya yetkisi var mı? Parolaları düz metin saklama devri 20 yıl önce kapandı.
Bilmen gerekenler
- Parola Hashleme: bcrypt veya Argon2 ile tuzlama (salt) mantığı, rainbow table saldırıları
- JWT (JSON Web Token): Header, Payload, Signature yapısı. Token'ın şifreli değil imzalı olduğunu bilmek
- Access Token & Refresh Token döngüsü: Güvenli saklama (HttpOnly Cookie vs Header)
- Yetkilendirme (RBAC): Rol tabanlı yetki kontrolü (Admin, User, Editor) middleware'leri
Kaynaklar
Session vs JWT· İyi olur
Stateful session (sunucuda tutulan Redis/DB oturumu) ile Stateless JWT arasındaki avantaj ve dezavantajlar.
OAuth 2.0 Temelleri· İyi olur
Google ya da GitHub ile Giriş Yap akışının arka planda nasıl çalıştığı (Authorization Code akışı).
Girdi Doğrulama ve API Savunması· Temel
Kullanıcıdan gelen hiçbir veriye güvenilmez (Zero Trust). Dışarıdan gelen veriyi şemayla doğrulamak zorundasın.
Bilmen gerekenler
- Request DTO / Validation: Zod, Joi, FluentValidation gibi araçlarla gelen gövdeyi denetlemek
- SQL Injection: Neden parametrik sorgu (Prepared Statement) kullanmak zorunda olduğumuz
- CORS (Cross-Origin Resource Sharing): Frontend başka bir alan adından istek attığında ne olur?
- Rate Limiting: API uçlarını brute-force ve bot saldırılarına karşı sınırlandırmak
Kaynaklar
CORS ve Preflight (OPTIONS)· Temel
Preflight OPTIONS isteği nedir, tarayıcı neden atar, backend tarafında header'lar nasıl yapılandırılır?
04İşe Hazırlık ve Gerçek Proje
Docker Temelleri· Temel
'Benim bilgisayarımda çalışıyordu' bahanesini bitirmek. Junior backend'in Kubernetes bilmesine gerek yok ama Dockerfile yazabilmesi şarttır.
Bilmen gerekenler
- Konteyner ve İmaj farkı: Docker image nedir, container nasıl ayağa kalkar?
- Dockerfile Yazmak: Multi-stage build ile hafif imaj üretmek, port expose etmek
- Docker Compose: API servisini ve PostgreSQL veritabanını tek bir `docker compose up` ile ayağa kaldırmak
Kaynaklar
Yerel Geliştirme Ortamı· Temel
Bilgisayarına yerel Postgres kurmak yerine Docker ile tek tıkla veritabanı ayağa kaldırıp bağlamak.
Dokümantasyon (Swagger / OpenAPI)· Temel
Dokümante edilmemiş bir API yok hükmündedir. Frontend geliştiriciye Postman koleksiyonu veya Swagger linki verebilmek.
Kaynaklar
Sözleşme (API Contract)· İyi olur
Request ve response şemalarını önceden belirleyip frontend ile aynı dilde konuşmak.
Canlıda Çalışan Gerçek API· Temel
Todo App ya da klon projeleri bırak. Auth'u olan, ilişkisel PostgreSQL'e bağlı, Docker ile paketlenmiş ve canlı URL'i olan TEK BİR proje seni işe sokar.
Bilmen gerekenler
- Gerçek bir iş mantığı: Rezervasyon, e-ticaret sipariş akışı, biletleme veya finansal işlem API'si
- PostgreSQL ile kurulmuş en az 4-5 ilişkili tablo (User, Product, Order, OrderItem)
- Canlı Deployment: Render, Railway, Fly.io veya Hetzner/DigitalOcean VPS üzerinde çalışan canlı API linki
- README: Mimari şeması, çevre değişkenleri tablosu, yerel çalıştırma adımları ve Swagger linki
Entegrasyon Testi· İyi olur
Kritik uçlar için (Login, Sipariş Oluşturma) test veritabanıyla çalışan otomatik uçtan uca testler yazmak.
Mimarini Mülakatta Savunmak· Temel
“Neden PostgreSQL seçtin?”, “Parolaları nasıl sakladın?”, “Index'i neden bu kolona attın?” sorularını rahatça cevaplamak.
05Sonradan Öğrenilebilecekler
Dağıtık Mimari ve Kuyruklar· Sonra
Henüz 10 kullanıcısı olan bir projeyi 10 farklı mikroservise bölmek felakettir. Monolitik mimariyle başla; mikroservisleri iş yerinde gör.
Mikroservisler· Sonra
Servisler arası iletişim (gRPC, HTTP), ağ gecikmesi ve veri tutarsızlığı problemleri. Junior geliştiricinin ilk işi değildir.
Kafka & RabbitMQ· Sonra
Olay güdümlü (Event-Driven) mimariler ve asenkron mesaj kuyrukları. Şirkette ihtiyaç duyulduğunda 2 haftada kavranır.
Redis & Caching· Sonra
Önbellek (cache invalidation) zor bir iştir. Erken optimizasyon yapma; önce veritabanı sorgunu ve index'ini optimize et.
İleri Düzey DevOps & Cloud· Sonra
Sunucu ve küme yönetimi DevOps/Cloud mühendislerinin uzmanlık alanıdır. Backend geliştirici olarak Docker seviyesi başlangıç için yeterlidir.
Kubernetes (K8s)· Sonra
Konteyner orkestrasyonu, pod yönetimi ve cluster bakımı. Junior'ın cluster kurması veya yönetmesi beklenemez.
AWS / GCP / Azure· Sonra
VPC, IAM rolleri, Terraform, Kubernetes servisleri... Bunlar şirket bütçesiyle ve kıdemli ekip gözetiminde öğrenilir.
İleri CI/CD Pipeline· Sonra
Otomatik canary deploy, blue-green deployment stratejileri ve karmaşık GitHub Actions iş akışları.