Türkiye'deki junior frontend ilanlarında React'in yanına Docker, CI/CD, GraphQL ve Cloud ekleniyor. Bu harita o listeyi ayıklıyor: işe girmek için gerçekten gereken temel, ilanlarda sık geçen ama şart olmayanlar ve işe girdikten sonra öğrenilecekler.
20 teknolojiyi yüzeysel bilmek, hiçbirini doğru düzgün bilmemekten daha değerli değil. Sırayla ilerle, her konuya tıklayıp neyi bilmen gerektiğine bak, öğrendiklerini işaretle.
Bir konuya tıkla: ne bilmen gerektiği ve kaynaklar açılır.
Her şeyin üstüne kurulduğu kısım. Burayı atlayan, sonraki her aşamada geri dönüyor.
Bir ekipte çalışabilmek için gereken günlük araçlar.
İlanların asıl istediği kısım. Temel sağlamsa burası sandığından hızlı gider.
İlanlarda sık geçen ve seni diğer adaylardan ayıracak olanlar.
İlanlarda gördüğün ama işe girmek için şart olmayanlar. Production'da ihtiyaç doğdukça, ekibinle birlikte öğrenirsin.
Haritadaki her konunun açıklaması, bilmen gerekenler ve kaynaklar — tek listede.
Tarayıcıya bir adres yazdığında neler olduğunu bilmek, karşılaşacağın hataların yarısını anlamanı sağlar. Derinlemesine değil, resmin bütünü yeterli.
Frontend'in konuştuğu dil. Metotları ve durum kodlarını okuyabilmek, API hatalarını kendi başına çözebilmek demek.
Bir alan adının bir sunucuya nasıl çözüldüğü. Projeni yayına alırken ilk karşılaşacağın şey.
HTML'den DOM'a, CSS'ten ekrana çizime giden yol. Performans konuşulduğunda herkes buraya döner.
Sayfanın iskeleti. 'HTML zaten kolay' diye geçilen ama mülakatta en çok açık veren konu: doğru etiketi seçmek hem erişilebilirliği hem SEO'yu belirliyor.
header, nav, main, article, section, button — her birinin bir anlamı var. Ekran okuyucu da arama motoru da o anlamı okuyor.
Neredeyse her işte yazacağın şey. label, input türleri ve tarayıcının kendi doğrulaması seni çok fazla JavaScript'ten kurtarır.
Klavyeyle gezilebilen, ekran okuyucuyla okunabilen sayfa. Junior'dan uzmanlık beklenmez ama temel kurallar beklenir.
title, description, başlık yapısı ve anlamlı adresler. Semantik HTML'i doğru yazıyorsan yolun yarısı zaten bitmiş.
Tasarımı koda çevirmek. Tailwind kullansan bile altında CSS var; box model ve layout'u bilmeyen Tailwind'de de takılıyor.
Her öğe bir kutu: content, padding, border, margin. Layout hatalarının çoğu buradan çıkar.
Tek eksende hizalama. Bugün yazdığın layout'ların çoğu flexbox.
İki eksende layout. Kart ızgaraları ve sayfa iskeleti için flexbox'tan çok daha sade.
Telefondan geniş ekrana aynı sayfa. Mobil öncelikli yazmak artık tercih değil varsayılan.
İlanların çoğunda var ve CSS'i biliyorsan bir haftada öğrenilir. Sıralama önemli: önce CSS, sonra Tailwind.
Haritanın en önemli durağı. React'te takılanların çoğu aslında JavaScript'te takılıyor. Burada acele etme.
React kodunun her satırında göreceğin şeyler. Bunları rahat okuyamıyorsan React zor gelir.
map, filter, reduce, find. React'te listeyi render etmenin ve veriyi dönüştürmenin yolu.
React bunu senin yerine yapıyor — ama önce elle yapmış olmalısın ki React'in neyi çözdüğünü anlayasın.
Veri çekmek, beklemek, hata yakalamak. Mülakatların en sevdiği konu.
İlk gün kullanacağın şey. Kodu kaydetmek, dal açmak, birleştirmek ve ekiple paylaşmak. Portföyün de burada duruyor.
Dal açmak, birleştirmek ve çakışma (conflict) çözmek. Çakışmadan korkmamak başlı başına beceri.
Ekipte kod böyle birleşiyor. PR açmak, açıklama yazmak ve gelen yorumlara cevap vermek.
Projeyi kurmak, çalıştırmak ve hatayı bulmak için kullandığın araçlar.
Paket kurmak, package.json'ı okumak, script çalıştırmak.
React projesi başlatmanın bugünkü varsayılan yolu. Derleme aracının ne yaptığını kabaca bilmek yeter.
Kod stilini tartışmayı araca bırakmak. Çoğu projede hazır kurulu gelir, ne işe yaradığını bilmek yeter.
Türkiye'deki junior frontend ilanlarının neredeyse tamamında var. react.dev'deki resmi belge baştan sona okunmaya değer.
Arayüzü küçük, yeniden kullanılabilir parçalara bölmek.
useState ile etkileşim. State'in nerede durması gerektiğine karar verebilmek asıl beceri.
useEffect ne zaman gerekir — ve daha önemlisi ne zaman gerekmez.
Birden fazla sayfalı uygulama. React Router ya da framework'ün kendi yönlendirmesi.
Context çoğu zaman yeter. Zustand ya da Redux'u ilanda görürsen kavramı bil; ezberlemeye gerek yok.
Artık neredeyse her ilanda var ve yeni projelerin çoğu TypeScript ile başlıyor. İleri seviye tip jimnastiği değil, günlük kullanım beklenir.
Props tipi, state tipi, olay tipleri. Günlük işin büyük kısmı bu.
Frontend'in işi çoğunlukla bir API'den gelen veriyi göstermek ve geri göndermek. Backend yazmak değil, backend'le konuşmak.
Endpoint, metot, istek gövdesi, JSON cevap. Postman ya da benzeri bir araçla API denemek.
Veri gelene kadar ne gösteriyorsun, hata gelince ne oluyor? Junior projelerinin en çok atladığı kısım.
Veri çekme, önbellek ve yeniden deneme işini hazır çözüyor. İlanlarda sık geçiyor.
Token nedir, cookie nedir, giriş yapmış kullanıcı nasıl anlaşılır. Kurmak değil, frontend tarafından anlamak.
React'i bildikten sonra öğren, önce değil. İlanların önemli kısmında geçiyor; sunucu tarafı render'ın neden var olduğunu anlamak yeterli başlangıç.
Sayfanın nerede ve ne zaman üretildiği. Kavram olarak bilmek mülakatta çok iş görür.
Junior'dan test stratejisi beklenmez; basit bir bileşen testi yazabilmek ve testin neden yazıldığını bilmek beklenir.
CV'de 15 framework görmektense, bir tane gerçek projede neden o teknolojiyi kullandığını bilen bir junior görmeyi tercih ederim. Haritanın asıl varış noktası burası.
Projen bir adreste açılmıyorsa yok sayılır. Vercel, Netlify ya da Cloudflare Pages ile birkaç dakikalık iş.
Projenin ne yaptığı, nasıl çalıştırıldığı ve hangi kararı neden verdiğin. İşe alımcının okuduğu ilk ve çoğu zaman tek dosya.
“Neden Zustand?”, “Neden bu klasör yapısı?” Mülakatta asıl ölçülen şey bu sorulara verdiğin cevap.
Frontend geliştiricinin backend'i anlaması çok faydalı. Ama API yazmak, veritabanı ve kimlik doğrulama kurmak full-stack'in işi.
Basit bir API yazıp frontend'ini ona bağlamak ufkunu açar. Junior frontend için şart değil.
Şirketin kullanıyorsa bir haftada öğrenirsin. REST'i bilmek önce gelir.
Genellikle ekipte bunu kuran biri vardır. Senden beklenen, kurulu olanı kullanabilmek.
Projeyi bir konteynerde çalıştırmak. Mevcut bir Dockerfile'ı okuyabilmek başlangıç için yeter.
Her push'ta testlerin çalışması, her merge'de yayına çıkmak. İlk işinde zaten kurulu bulacaksın.
AWS, GCP, Azure. Frontend için çoğu zaman bir CDN ve statik barındırmadan ibaret.
Architecture, scalability, code review, mentorluk. Bunlar deneyimle gelir; junior ilanında görüyorsan orada bir şeyler karışmış olabilir.
Büyüyen bir kod tabanını yönetilebilir tutmak. Önce büyük bir kod tabanında çalışmış olman gerekiyor.
Core Web Vitals, bundle analizi, render optimizasyonu. Temel performans sağduyusu yeter, gerisi işte.