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.
Bir konuya tıkla: ne bilmen gerektiği ve kaynaklar açılır.
API'lerin konuştuğu evrensel kurallar ve arkasındaki mantık. Dil bağımsızdır, her backend geliştiricinin ortak alfabesidir.
Backend'in asıl kalbi. Arayüzler ve diller değişir, ama verinin doğruluğu ve ilişkileri daima ayakta kalır.
Bir backend geliştiriciyi hobi kodlayıcısından ayıran alan. Veri güvenliğini sağlamayan bir API canlıya çıkamaz.
Seni binlerce adayın önüne geçirecek kısım. Sadece kod yazmak değil; paketlemek, dokümante etmek ve canlıya almak.
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.
Haritadaki her konunun açıklaması, bilmen gerekenler ve kaynaklar — tek listede.
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.
Bir istek tarayıcıdan çıktığı andan Controller'a, Servis katmanına ve veritabanına gidip dönene kadar hangi duraklardan geçer?
Backend kodunu yazarken frontend'i beklemeden kendi uçlarını test etmenin ve debug etmenin günlük aracı.
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ş.
Kodu try-catch çöplüğüne çevirmeden, beklenmeyen hatalarda sunucunun çökmesini engelleyen merkezi hata yönetimi kurmak.
Veritabanı şifreleri ve gizli anahtarlar asla koda gömülmez. .env dosyasından okumak ve .gitignore ile korumak.
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.
Milyonluk tabloda arama neden 3 saniye sürer, CREATE INDEX ile nasıl 2 milisaniyeye düşer? Index maliyetleri ve EXPLAIN sorgusu.
Para transferi yaparken A hesabından düşüp B hesabına eklenemezse ne olur? İki işlemi tek bir atomik pakette çalıştırmak.
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.
Mülakatlarda en sık sorulan performans sorusu. Eager loading, JOIN ve DataLoader mekanizmaları.
Raporlama veya karmaşık aggregate sorgularında ORM'i bırakıp doğrudan SQL çalıştırmayı bilmek.
Kullanıcı kimdir ve bu işlemi yapmaya yetkisi var mı? Parolaları düz metin saklama devri 20 yıl önce kapandı.
Stateful session (sunucuda tutulan Redis/DB oturumu) ile Stateless JWT arasındaki avantaj ve dezavantajlar.
Google ya da GitHub ile Giriş Yap akışının arka planda nasıl çalıştığı (Authorization Code akışı).
Kullanıcıdan gelen hiçbir veriye güvenilmez (Zero Trust). Dışarıdan gelen veriyi şemayla doğrulamak zorundasın.
Preflight OPTIONS isteği nedir, tarayıcı neden atar, backend tarafında header'lar nasıl yapılandırılır?
'Benim bilgisayarımda çalışıyordu' bahanesini bitirmek. Junior backend'in Kubernetes bilmesine gerek yok ama Dockerfile yazabilmesi şarttır.
Bilgisayarına yerel Postgres kurmak yerine Docker ile tek tıkla veritabanı ayağa kaldırıp bağlamak.
Dokümante edilmemiş bir API yok hükmündedir. Frontend geliştiriciye Postman koleksiyonu veya Swagger linki verebilmek.
Request ve response şemalarını önceden belirleyip frontend ile aynı dilde konuşmak.
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.
Kritik uçlar için (Login, Sipariş Oluşturma) test veritabanıyla çalışan otomatik uçtan uca testler yazmak.
“Neden PostgreSQL seçtin?”, “Parolaları nasıl sakladın?”, “Index'i neden bu kolona attın?” sorularını rahatça cevaplamak.
Henüz 10 kullanıcısı olan bir projeyi 10 farklı mikroservise bölmek felakettir. Monolitik mimariyle başla; mikroservisleri iş yerinde gör.
Servisler arası iletişim (gRPC, HTTP), ağ gecikmesi ve veri tutarsızlığı problemleri. Junior geliştiricinin ilk işi değildir.
Olay güdümlü (Event-Driven) mimariler ve asenkron mesaj kuyrukları. Şirkette ihtiyaç duyulduğunda 2 haftada kavranır.
Önbellek (cache invalidation) zor bir iştir. Erken optimizasyon yapma; önce veritabanı sorgunu ve index'ini optimize et.
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.
Konteyner orkestrasyonu, pod yönetimi ve cluster bakımı. Junior'ın cluster kurması veya yönetmesi beklenemez.
VPC, IAM rolleri, Terraform, Kubernetes servisleri... Bunlar şirket bütçesiyle ve kıdemli ekip gözetiminde öğrenilir.
Otomatik canary deploy, blue-green deployment stratejileri ve karmaşık GitHub Actions iş akışları.