Makale 8: Apple'da Hayalinizdeki İşi Elde Etmek - Kapsamlı SDET Mülakat Rehberi
Apple’da Hayalinizdeki İşi Elde Etmek: Kapsamlı SDET Mülakat Rehberi
Başvurudan teklife: Apple’da $140K-$200K+ Software Quality Engineer pozisyonuna giden adım adım yol haritası
image: “/images/post/8.jpg”
📍 Buradasınız:
[✓] Makale 1: QA Temelleri (QA Fundamentals)
[✓] Makale 2: QA Pratiği (QA Practice)
[✓] Makale 3: QA için Veri Yapıları ve Algoritmalar (DSA for QA)
[✓] Makale 4: Otomasyon Çerçeveleri (Automation Frameworks)
[✓] Makale 5: Sürekli Entegrasyon (CI/CD)
[✓] Makale 6: Test Tasarım Teknikleri (Test Design Techniques)
[✓] Makale 7: Performans Testi (Performance Testing)
[→] Makale 8: Apple'da İş Bulmak
İlerleme: %100 ✨
Tebrikler! QA temellerinden ileri düzey konulara kadar tüm yolu tamamladınız. Şimdi son adım — bu bilgiyi Apple teklifine dönüştürmek.
Bu makalede öğrenecekleriniz:
- Doğru pozisyonu nasıl bulup seçersiniz
- Apple adaylarda ne arar
- Özgeçmişinizi nasıl optimize edersiniz
- Tam mülakat süreci (4 tur)
- Maaş pazarlığı ipuçları ($140K → $200K+)
- Apple’da ilk 90 gün
Bu teori değil — bu benim ve teklif alan onlarca tanıdığımın Apple’a giden kesin yol haritası.
📋 İçindekiler
- Apple Software Quality Engineer Pozisyon Analizi
- Hazırlık: Başvuru Öncesi Kontrol Listesi
- Apple’da Mülakat Alan Özgeçmiş
- GitHub Portfolyo: Ne Göstermeli
- Mülakat Süreci: 4 Tur
- Coding Interview Soruları
- QA için System Design
- Behavioral Interview
- Maaş Pazarlığı
- Teklif Değerlendirme Kontrol Listesi
- Apple’da İlk 90 Gün
- Plan B: Henüz Apple Değilse
🎯 Apple Software Quality Engineer Pozisyon Analizi
Gerçek İş İlanı Analizi
Pozisyon: Software Quality Engineer - Apple Services Lokasyon: Cupertino, CA / Austin, TX / Uzaktan Maaş Aralığı: $140,000 - $200,000+ (taban + bonus + RSU)
Gereksinimler (Satır Satır)
ZORUNLU BECERİLER (Must Have):
✓ Bilgisayar Bilimi veya eşdeğeri lisans derecesi
→ Veya 3+ yıl kodlama deneyimi telafi edebilir
✓ Yazılım kalite mühendisliğinde 3+ yıl deneyim
→ Sadece QA değil, tam olarak "mühendislik"
✓ Güçlü programlama becerileri (Python, Java, JavaScript veya Swift)
→ Production kod yazabilmeli
✓ Test otomasyon çerçeveleri deneyimi (Playwright, Selenium)
→ Bunu Makale 4'te ele aldık ✅
✓ CI/CD pipeline bilgisi
→ Makale 5 ✅
✓ Veri Yapıları ve Algoritma anlayışı
→ Makale 3 ✅
✓ Performans test araçları deneyimi
→ Makale 7 ✅
TERCİH EDİLEN BECERİLER (Nice to Have):
✓ iOS/macOS test deneyimi
✓ Swift/Objective-C bilgisi
✓ Apple ekosistemini tanıma
✓ Xcode ve XCTest deneyimi
✓ Agile/Scrum metodolojisi
Pratikte Bu Ne Anlama Geliyor?
Apple ARAMIYOR:
- ❌ Manuel test uzmanları
- ❌ “Düğme tıklayanlar”
- ❌ Sadece test senaryosu yazan kişiler
Apple ARIYOR:
- ✅ Kaliteye odaklanan Software Engineers
- ✅ Test framework tasarlayıp inşa edebilen kişiler
- ✅ QA’da teknik liderler
📝 Hazırlık: Başvuru Öncesi Kontrol Listesi
Teknik Beceriler Kontrol Listesi
Programlama (minimum 1 dil 8/10 seviyesinde):
- Python veya JavaScript — güçlü bilgi
- Kariyerim boyunca minimum 5000 satır kod yazdım
- Coding interview geçebilirim
Test Otomasyonu:
- Playwright veya Selenium — production deneyimi
- Sıfırdan en az bir framework inşa ettim
- Page Object Model, fixtures, paralelleştirme biliyorum
Veri Yapıları ve Algoritmalar:
- Minimum 50 LeetCode problemi çözdüm
- Temel veri yapılarını biliyorum (arrays, hash, trees, graphs)
- Big O notasyonunu açıklayabilirim
CI/CD:
- GitHub Actions veya Jenkins yapılandırdım
- Testleri pipeline’a entegre ettim
- Konteynerizasyonu anlıyorum (Docker)
Performans Testi:
- Yük testi yaptım (JMeter/K6/Gatling)
- Temel metrikleri biliyorum (p95, p99, throughput)
- Performans darboğazları bulup düzelttim
Soft Skills Kontrol Listesi
- Teknik kavramları basit terimlerle açıklayabilirim
- Agile takımda çalıştım
- Code review yaptım
- Junior mühendislere mentorluk yaptım
- Teknik tartışmalara katıldım
Portfolyo Kontrol Listesi
- Aktif projelerle GitHub
- Minimum 1 tam test framework
- Dokümantasyonlu README.md
- Görünür CI/CD kurulumu
- Open source katkıları (bonus)
📄 Apple’da Mülakat Alan Özgeçmiş
Özgeçmiş Yapısı
[Adınız]
Software Engineer in Test | SDET
[Email] | [Telefon] | [LinkedIn] | [GitHub]
Lokasyon: [Şehir, Eyalet] veya "Taşınmaya açık"
ÖZET (SUMMARY)
5+ yıl deneyimle ölçeklenebilir test otomasyon çerçeveleri inşa eden
sonuç odaklı SDET. Playwright, CI/CD ve performans testinde uzman.
[Şirket]'te test yürütme süresini %70 azalttı ve kapsamı %40 artırdı.
Apple'da kalite mühendisliği uzmanlığından yararlanmayı hedefliyor.
TEKNİK BECERİLER (TECHNICAL SKILLS)
Diller: JavaScript (Uzman), Python (İleri), SQL
Otomasyon: Playwright, Selenium, Cypress, Appium
Çerçeveler: Jest, Mocha, Pytest, JUnit
CI/CD: GitHub Actions, Jenkins, Docker, Kubernetes
Performans: K6, JMeter, Gatling
Araçlar: Git, Jira, Postman, Charles Proxy
API'ler: REST, GraphQL, WebSocket
MESLEKİ DENEYİM (PROFESSIONAL EXPERIENCE)
Senior SDET | [Şirket Adı] | [Şehir, Eyalet] | 2021 - Günümüz
• 500+ test senaryosunu kapsayan Playwright ile end-to-end test otomasyon
çerçevesi inşa etti, test kapsamını %45'ten %85'e çıkardı
• Deployment süresini 4 saatten 45 dakikaya düşüren CI/CD pipeline
tasarladı ve uyguladı
• 15 kritik darboğaz tespit eden performans testi yaparak API yanıt
süresini %60 iyileştirdi
• 3 kişilik junior QA mühendisi ekibine test otomasyon en iyi
uygulamaları konusunda mentorluk yaptı
• Teknoloji: Playwright, JavaScript, GitHub Actions, K6, PostgreSQL
QA Mühendisi | [Önceki Şirket] | [Şehir, Eyalet] | 2019 - 2021
• Postman/Newman kullanarak REST API'ler için otomatik test suitleri geliştirdi
• Test bakımını %40 azaltan veri odaklı test çerçevesi uyguladı
• Sürüm öncesi 200+ bug düzeltmesinde geliştiricilerle işbirliği yaptı
• Teknoloji: Selenium, Python, Jenkins, JMeter
PROJELER (PROJECTS)
E-ticaret Test Otomasyon Çerçevesi | github.com/kullaniciadi/ecommerce-tests
• Playwright ile full-stack test otomasyonu, 200+ test, %95 başarı oranı
• Çoklu tarayıcı desteği, paralel yürütme, ayrıntılı raporlama
• CI/CD için GitHub Actions ile entegre
Performans Test Paketi | github.com/kullaniciadi/perf-tests
• Yoğun trafikli e-ticaret sitesi için K6 kullanan yük testi senaryoları
• Optimal sunucu kapasitesi ve yanıt süresi eşikleri belirlendi
• Görselleştirmelerle kapsamlı README'de belgelendi
EĞİTİM (EDUCATION)
Bilgisayar Bilimi Lisans | [Üniversite] | 2019
İlgili Dersler: Veri Yapıları, Algoritmalar, Yazılım Mühendisliği
SERTİFİKALAR (CERTIFICATIONS)
ISTQB Advanced Test Automation Engineer | 2022
AWS Certified Solutions Architect Associate | 2023
Apple için Temel Özgeçmiş İpuçları
YAPIN:
- ✅ Her şeyi ölçün (sayılar, yüzdeler, metrikler)
- ✅ Sadece sorumluluklara değil, etkiye odaklanın
- ✅ Sadece araç kullanımını değil, framework tasarımını vurgulayın
- ✅ Teknik liderlik ve mentorluk gösterin
- ✅ < 5 yıl deneyim için 1 sayfa, 5+ yıl için 2 sayfa
YAPMAYIN:
- ❌ Dokunduğunuz her teknolojiyi listeleyin
- ❌ Genel tanımlar (“testlerden sorumlu”)
- ❌ Yazım hataları veya biçimlendirme tutarsızlıkları
- ❌ Güncel olmayan beceriler (Selenium 2.0, QTP vb.)
- ❌ Kişisel bilgiler (fotoğraf, yaş, medeni durum)
İşe Yarayan Eylem Fiilleri
Zayıf fiilleri değiştirin:
- ❌ “Test etti” → ✅ “Mühendislik etti”, “Tasarladı”, “İnşa etti”
- ❌ “Üzerinde çalıştı” → ✅ “Tasarladı”, “Uyguladı”, “Liderlik etti”
- ❌ “Yardım etti” → ✅ “İşbirliği yaptı”, “Ortaklık kurdu”, “Yönlendirdi”
💻 GitHub Portfolyo: Ne Göstermeli
Apple İşe Alımcıları Ne Arıyor
GitHub’ınızı ziyaret ettiklerinde:
- Son aktivite (yeşil kareler!)
- Miktardan çok kalite
- Profesyonel README’ler
- Gerçek dünya projeleri
- Temiz, belgelenmiş kod
Olması Gereken Projeler
Proje 1: Test Otomasyon Çerçevesi ⭐ KRİTİK
ecommerce-test-framework/
├── README.md # ← Profesyonel dokümantasyon
├── .github/
│ └── workflows/
│ └── tests.yml # ← CI/CD görünür
├── tests/
│ ├── e2e/
│ ├── api/
│ └── visual/
├── pages/ # ← Page Object Model
├── fixtures/ # ← Test verileri
├── playwright.config.js
└── package.json
Stars: 10+ hedefleyin
README: Kapsamlı rehber
Demo: Testlerin çalıştığını gösteren GIF
README.md Şablonu:
# E-ticaret Test Otomasyon Çerçevesi


Playwright ve JavaScript ile e-ticaret uygulamaları için profesyonel
test otomasyon çerçevesi.
## Özellikler
- ✅ 200+ otomatik test senaryosu
- ✅ Çoklu tarayıcı desteği (Chrome, Firefox, Safari)
- ✅ Paralel yürütme (4 kat daha hızlı)
- ✅ CI/CD entegrasyonu (GitHub Actions)
- ✅ Ayrıntılı HTML raporları
- ✅ Hata durumunda ekran görüntüsü
- ✅ Video kayıtları
## Teknoloji Yığını
- Playwright v1.40
- JavaScript ES6+
- GitHub Actions
- Allure Reports
## Hızlı Başlangıç
\`\`\`bash
npm install
npm test
\`\`\`
## Mimari
- Page Object Model
- Setup/teardown için Fixtures
- Veri odaklı test
- Özel reporters
## Sonuçlar
- %95 test başarı oranı
- 10 dakika yürütme süresi
- Sıfır flaky test
## Yazar
[Adınız] - SDET | [LinkedIn](#) | [Email](#)
Proje 2: API Test Paketi
api-test-suite/
├── README.md
├── tests/
│ ├── auth.spec.js
│ ├── products.spec.js
│ └── orders.spec.js
├── utils/
│ ├── api-client.js
│ └── data-generator.js
└── .github/workflows/
Proje 3: Performans Testi
performance-tests/
├── k6-scripts/
│ ├── load-test.js
│ ├── stress-test.js
│ └── spike-test.js
├── results/
│ └── reports/
└── README.md
🎤 Mülakat Süreci: 4 Tur
Genel Bakış
Başvuru
↓
İşe Alımcı Görüşmesi (30 dk)
↓
Teknik Telefon Görüşmesi (60 dk)
↓
Onsite (veya Sanal) - 4-5 saat
│
├── Coding Interview (60 dk)
├── System Design (60 dk)
├── Behavioral Interview (45 dk)
└── QA'ya Özel Teknik (60 dk)
↓
Takım Eşleştirme (geçtiyseniz)
↓
Teklif!
Tur 1: İşe Alımcı Görüşmesi (30 dk)
Ne soruyorlar:
- Kendinizi tanıtın
- Neden Apple?
- Mevcut şirketten neden ayrılıyorsunuz?
- Maaş beklentileriniz?
- Zaman çizelgesi/müsaitlik?
Nasıl hazırlanmalı:
// 2 dakikalık sunum şablonunuz
const pitch = {
background: "5 yıl SDET deneyimi, [Şirket]'te test framework'leri inşa ettim",
achievements: "Test kapsamını %45 → %85 artırdım, CI süresini 4s → 45dk düşürdüm",
why_apple: "Ölçekte kaliteye tutkulu, Apple ürünlerini seviyorum",
looking_for: "Milyarlara ulaşan yüksek etkili ürünler üzerinde çalışma fırsatı"
};
Maaş sorusu:
İşe alımcı: "Maaş beklentileriniz nedir?"
❌ Kötü: "$150K"
✅ İyi: "Araştırmama ve deneyim seviyeme dayanarak, $140-160K taban
hedefliyorum, ancak esnekliyim ve bonus ve hisse dahil tam
tazminat paketi hakkında daha fazla bilgi edinmek isterim."
Tur 2: Teknik Telefon Görüşmesi (60 dk)
Format:
- 5 dk giriş
- 40 dk kodlama
- 10 dk sorularınız
- 5 dk kapanış
Tipik Problemler:
Problem 1: Yinelenen Test Senaryolarını Bul
/**
* Test senaryosu nesnelerinden oluşan dizi verildi, yinelenen grupları bul
*
* Girdi: [
* {id: 1, steps: "login", expected: "success"},
* {id: 2, steps: "login", expected: "success"}, // yinelenen
* {id: 3, steps: "logout", expected: "redirect"}
* ]
*
* Çıktı: [[1, 2]]
*/
function findDuplicateTests(tests) {
const map = new Map();
for (const test of tests) {
const signature = `${test.steps}|${test.expected}`;
if (!map.has(signature)) {
map.set(signature, []);
}
map.get(signature).push(test.id);
}
return Array.from(map.values()).filter(group => group.length > 1);
}
// Zaman: O(n)
// Alan: O(n)
Problem 2: Test Yürütme Sırası (Topolojik Sıralama)
/**
* Test bağımlılıkları verildi, yürütme sırasını döndür
*
* tests = ['A', 'B', 'C', 'D']
* deps = {
* 'B': ['A'], // B, A'ya bağlı
* 'C': ['A'],
* 'D': ['B', 'C']
* }
*
* Çıktı: ['A', 'B', 'C', 'D'] veya ['A', 'C', 'B', 'D']
*/
function getTestOrder(tests, dependencies) {
const graph = new Map();
const inDegree = new Map();
// Başlat
for (const test of tests) {
graph.set(test, []);
inDegree.set(test, 0);
}
// Graf oluştur
for (const [test, deps] of Object.entries(dependencies)) {
for (const dep of deps) {
graph.get(dep).push(test);
inDegree.set(test, inDegree.get(test) + 1);
}
}
// Kahn algoritması
const queue = tests.filter(t => inDegree.get(t) === 0);
const result = [];
while (queue.length > 0) {
const curr = queue.shift();
result.push(curr);
for (const neighbor of graph.get(curr)) {
inDegree.set(neighbor, inDegree.get(neighbor) - 1);
if (inDegree.get(neighbor) === 0) {
queue.push(neighbor);
}
}
}
// Döngü kontrolü
return result.length === tests.length ? result : null;
}
// Zaman: O(V + E)
// Alan: O(V + E)
🧩 Coding Interview Soruları
Onsite - Coding Interview (60 dk)
Daha Karmaşık Problemler:
Problem: Optimal Test Paketi Seçimi (0/1 Sırt Çantası)
/**
* Zaman bütçesi içinde maksimum kapsamlı testleri seç
*
* tests = [
* {name: 'A', time: 5, coverage: 10},
* {name: 'B', time: 3, coverage: 7},
* {name: 'C', time: 8, coverage: 15}
* ]
* timeLimit = 10
*
* Döndür: maksimum kapsamlı testler
*/
function selectOptimalTests(tests, timeLimit) {
const n = tests.length;
const dp = Array(n + 1).fill(null)
.map(() => Array(timeLimit + 1).fill(0));
for (let i = 1; i <= n; i++) {
const { time, coverage } = tests[i - 1];
for (let t = 0; t <= timeLimit; t++) {
// Testi dahil etme
dp[i][t] = dp[i - 1][t];
// Zaman izin veriyorsa testi dahil et
if (time <= t) {
dp[i][t] = Math.max(
dp[i][t],
dp[i - 1][t - time] + coverage
);
}
}
}
// Seçilen testleri bulmak için geri izle
const selected = [];
let t = timeLimit;
for (let i = n; i > 0; i--) {
if (dp[i][t] !== dp[i - 1][t]) {
selected.push(tests[i - 1]);
t -= tests[i - 1].time;
}
}
return {
tests: selected.reverse(),
totalCoverage: dp[n][timeLimit],
totalTime: timeLimit - t
};
}
// Zaman: O(n * timeLimit)
// Alan: O(n * timeLimit)
🏗️ QA için System Design
QA System Design Nedir?
Developer System Design ile karıştırmayın!
QA System Design odaklanır:
- Test mimarisi
- Test veri yönetimi
- Test ortamı stratejisi
- Test otomasyonunu ölçeklendirme
Yaygın Sorular
Soru 1: E-ticaret için Test Otomasyon Çerçevesi Tasarlayın
Mülakatçı:
“E-ticaret platformumuz için ölçeklenebilir bir test otomasyon çerçevesi tasarlayın. Web, mobil iOS, mobil Android var. 10 milyon kullanıcı. Buna nasıl yaklaşırsınız?”
Cevap Yapınız:
1. Gereksinimleri Netleştirme (5 dk)
- Kritik kullanıcı akışları neler?
- Mevcut test kapsamı?
- Takım büyüklüğü?
- Sürüm sıklığı?
- Performans gereksinimleri?
2. Üst Düzey Tasarım (15 dk)
Çerçeve Mimarisi:
┌─────────────────────────────────────┐
│ Test Yürütme Katmanı │
│ (GitHub Actions / Jenkins) │
└──────────────┬──────────────────────┘
│
┌──────────────┴──────────────────────┐
│ Test Orkestrasyon Katmanı │
│ - Test seçimi │
│ - Paralel yürütme │
│ - Yeniden deneme mantığı │
└──────────────┬──────────────────────┘
│
┌──────────────┴──────────────────────┐
│ Test Paketleri Katmanı │
├─────────────┬─────────────┬─────────┤
│ Web │ iOS Native │ Android │
│ (Playwright)│ (XCTest) │(Espresso)│
└─────────────┴─────────────┴─────────┘
│
┌──────────────┴──────────────────────┐
│ Page Objects / Helpers │
│ - Yeniden kullanılabilir bileşenler│
│ - API istemcileri │
└──────────────┬──────────────────────┘
│
┌──────────────┴──────────────────────┐
│ Test Veri Katmanı │
│ - Fixtures │
│ - Test veritabanı │
│ - Mock servisler │
└─────────────────────────────────────┘
3. Derinlemesine İnceleme (20 dk)
Temel Bileşenler:
a) Çapraz Platform Desteği
- Mümkün olduğunca paylaşılan test mantığı
- Platforma özgü adaptörler
- Birleşik raporlama
b) Test Veri Stratejisi
- Ortam başına ayrı test DB
- Rastgeleleştirme için veri üreticileri
- Her testten sonra temizlik
c) Paralel Yürütme
- Test parçalama (4-8 parça)
- İzole test ortamları
- Testler arası bağımlılık yok
d) Flaky Test Önleme
- Hata durumunda otomatik yeniden deneme (maks 2)
- Açık beklemeler, sleep() yok
- Hata durumunda ekran görüntüsü + video
- Flaky testler için karantina
💬 Behavioral Interview
Yaygın Sorular
Soru 1: “Sürümden hemen önce kritik bir bug bulduğunuz bir zamanı anlatın.”
STAR Formatı:
Durum (Situation):
"Black Friday sürümünden iki gün önce, ödeme akışında son regresyon
testleri yapıyordum."
Görev (Task):
"500$ üzerindeki siparişlerde promosyon kodlarının doğru uygulanmadığını
keşfettim - tam olarak Black Friday satışları için kritik nokta."
Eylem (Action):
"Hemen:
1. Ayrıntılı yeniden üretme adımlarıyla P0 ticket oluşturdum
2. Sorunu izole etmek için geliştiriciyle çalıştım - indirim
hesaplamasında yuvarlama hatası
3. Regresyonu önlemek için otomatik test yazdım
4. 4 saat içinde staging'de düzeltmeyi doğruladım
5. Tam ödeme paketini yeniden çalıştırdım"
Sonuç (Result):
"Bug'ı sürümden 36 saat önce düzelttik. Black Friday trafik analizine
göre, bu ~2M$ geliri etkileyebilirdi. Eklediğim otomasyon testi
sonraki sprintlerde 3 benzer sorunu yakaladı."
Bu cevap neden çalışır:
- ✅ Spesifik metrikler (2M$ etki)
- ✅ İnisiyatif gösterir (anında eylem)
- ✅ Teknik derinlik (kök neden)
- ✅ Uzun vadeli düşünme (otomasyon)
- ✅ Geliştiricilerle işbirliği
Soru 2: “Bir geliştiriciyle anlaşamadığınız bir zamanı anlatın.”
Kötü Cevap: ❌ “Geliştirici bilinen bug’larla göndermek istedi, hayır dedim, kavga ettik, sonunda müdürüm benim tarafımı tuttu.”
İyi Cevap: ✅ “Bir sprintte, bir geliştirici 12 testi bozan kodu birleştirmek istedi. Testlerin ‘flaky’ olduğunu ve daha sonra düzeltilebileceğini savundu.
Birlikte 30 dakika debug yapmayı önerdim. Testlerin flaky olmadığını keşfettik - kodunda race condition vardı. Birlikte düzeltme yazdık, daha iyi hata işleme ekledik ve tüm testler geçti.
Bu, otomasyonu suçlamak yerine başarısız testleri birlikte debug ettiğimiz bir uygulama oluşturdu. Test kararlılığımız %85’ten %98’e yükseldi.”
Bu neden çalışır:
- ✅ İşbirliğini gösterir
- ✅ Problem çözme zihniyeti
- ✅ Kazan-kazan sonucu
- ✅ Kalıcı iyileştirme yarattı
SİZİN Sormanız Gereken Sorular
Teknik Sorular:
- “Test otomasyon yığını şu anda nasıl görünüyor?”
- “Testler CI/CD pipeline’a nasıl entegre?”
- “Takımın flaky testlere yaklaşımı ne?”
- “Test kapsamı ile yürütme hızını nasıl dengeliyorsunuz?”
Takım/Kültür Soruları: 5. “QA burada geliştiricilerle nasıl işbirliği yapıyor?” 6. “Tipik bir sprint nasıl görünüyor?” 7. “Kalite nasıl ölçülüyor ve takip ediliyor?” 8. “Şu anda en büyük kalite zorlukları neler?”
Büyüme Soruları: 9. “SDET’ler için kariyer ilerlemesi nasıl görünüyor?” 10. “Farklı Apple ürünleri üzerinde çalışma fırsatları var mı?” 11. “Takım test teknolojileriyle nasıl güncel kalıyor?”
💰 Maaş Pazarlığı
Apple Tazminatını Anlama
Toplam Tazminat = Taban + Bonus + RSU
Örnek Teklif (Mid-Level SDET):
Taban Maaş: $140,000/yıl
Yıllık Bonus: %15 = $21,000
RSUs (4 yıl vest): $200,000 toplam = $50,000/yıl
Yıl 1 Toplam: $211,000
Yıl 2-4 Toplam: $211,000/yıl
RSU Vesting Takvimi:
Yıl 1: %25 ($50,000)
Yıl 2: %25 ($50,000)
Yıl 3: %25 ($50,000)
Yıl 4: %25 ($50,000)
Pazarlık Süreci
Aşama 1: İlk Teklif Araması
İşe alımcı: “Bir teklif uzatmak istiyoruz! Taban $140K, 4 yılda $200K hisse, %15 bonus. Ne düşünüyorsunuz?”
Hemen EVET demeyin!
✅ İyi Yanıt: “Teşekkürler! Bu fırsat için heyecanlıyım. Bu kapsamlı bir paket - teklifi yazılı olarak alabilir miyim ve incelemek için 2-3 gün süre isteyebilir miyim?”
Aşama 2: Teklifi Değerlendir
Piyasayla karşılaştır:
- levels.fyi (gerçek veriler)
- Glassdoor
- Blind uygulaması
- Ağınız
Apple SDET için (Austin, TX, 5 yıl deneyim):
25. yüzdelik: $150K toplam tazminat
50. yüzdelik: $180K toplam tazminat
75. yüzdelik: $220K toplam tazminat
90. yüzdelik: $280K+ toplam tazminat
Aşama 3: Karşı Teklif
Email Şablonu:
Konu: Re: Teklif - Software Quality Engineer Pozisyonu
Merhaba [İşe Alımcı Adı],
Teklif için teşekkürler! Apple'a katılmak ve [belirli takım/ürün]'e
katkıda bulunmak için heyecanlıyım.
Paketi inceledikten ve deneyimimi göz önünde bulundurduktan sonra:
- 5 yıl SDET deneyimi
- 50M+ kullanıcıya hizmet veren test framework'leri inşa ettim
- Bug'ları %40 azaltan kalite girişimlerine liderlik ettim
- Playwright, CI/CD, performans testinde uzmanlık
Yıllık toplam tazminatın $200K'ya daha yakın olmasını umuyordum.
Araştırmama ve karşılaştırılabilir tekliflere dayanarak, bunun deneyim
seviyem için adil piyasa değerini yansıttığına inanıyorum.
Özellikle, şunları umuyorum:
- Taban: $155,000 ($140,000'dan)
- RSU: 4 yılda $280,000 ($200,000'dan)
Daha fazla tartışmaktan mutluluk duyarım. Apple benim ilk tercihim ve
en iyi işimi ortaya koymaya kararlıyım.
Sizden haber bekliyorum!
Saygılarımla,
[Adınız]
Pazarlık İpuçları
YAPIN:
- ✅ Piyasa oranlarını araştırın (levels.fyi)
- ✅ Rakip tekliflere sahip olun (kaldıraç)
- ✅ Sayılarla spesifik olun
- ✅ Profesyonel ve pozitif kalın
- ✅ Sadece tabanı değil, toplam tazminatı pazarlık edin
YAPMAYIN:
- ❌ İlk teklifi hemen kabul etmeyin
- ❌ Ültimatom vermeyin
- ❌ Rakip teklifler hakkında yalan söylemeyin
- ❌ Telefonda pazarlık yapmayın (email daha iyi)
- ❌ Sadece taban maaşa odaklanmayın
Sihirli İfade:
“Apple ve bu rol konusunda çok heyecanlıyım. Araştırmama ve deneyimime dayanarak, [sayı] umuyordum. Buna yaklaşmak için birlikte çalışabilir miyiz?”
📋 Teklif Değerlendirme Kontrol Listesi
Maaşın Ötesinde
Tazminat:
- Taban maaş rekabetçi mi?
- RSU miktarı ve vesting takvimi?
- Yıllık bonus yüzdesi?
- Sign-on bonus?
- Taşınma yardımı?
Yan Haklar:
- Sağlık sigortası (tıbbi, diş, görme)
- 401k eşleştirme yüzdesi?
- İzin günleri (Apple: genellikle 15-20 gün)
- Ebeveyn izni politikası?
- Çalışan hisse satın alma planı?
Çalışma Ortamı:
- Uzaktan/hibrit/ofiste?
- Ofis lokasyonu?
- Takım büyüklüğü ve yapısı?
- Büyüme fırsatları?
- İş-yaşam dengesi itibarı?
İzlenecek Kırmızı Bayraklar
Mülakat Sırasında:
- ❌ Takımda yüksek devir oranı
- ❌ Büyüme hakkında belirsiz cevaplar
- ❌ Net QA stratejisi yok
- ❌ “Henüz otomatik testlerimiz yok”
- ❌ Düzensiz mülakat süreci
🚀 Apple’da İlk 90 Gün
30-60-90 Gün Planı
Günler 1-30: Öğren ve Özümse
Hafta 1:
- ✅ Onboarding’i tamamla (IT, yan haklar, eğitim)
- ✅ Takımınızla tanış (herkesle 1-1)
- ✅ Geliştirme ortamını kur
- ✅ Tüm dokümantasyonu oku
- ✅ Mevcut testleri yerel olarak çalıştır
- ✅ Kod tabanı yapısını anla
Hafta 2-4:
- ✅ İlk küçük görevi al (bug düzeltme veya test güncellemesi)
- ✅ Tüm takım toplantılarına katıl
- ✅ Takım arkadaşlarını gözlemle
- ✅ ÇOK soru sor
- ✅ Öğrendiklerini belgele
Günler 31-60: Katkıda Bulun ve İnşa Et
Teslim Edilecekler:
- ✅ 2-3 flaky testi düzelt
- ✅ Yeni özellikler için testler ekle
- ✅ Test dokümantasyonunu geliştir
- ✅ İlk önemli PR’ı yap
- ✅ Takım toplantısında bulguları sun
Günler 61-90: Etki ve Liderlik
Projeler:
- ✅ Orta büyüklükte bir özellik testinin sahibi ol
- ✅ Süreç iyileştirmesi öner
- ✅ Yeni takım arkadaşına mentorluk yap
- ✅ Test optimizasyonu için fikirler sun
Kaçınılması Gereken Yaygın Hatalar
Hata 1: Her Şeyi Hemen Değiştirmeye Çalışmak ❌ “Eski şirketimde bu şekilde yapıyorduk. Siz de yapmalısınız.”
✅ Bunun yerine: “X yaptığımızı fark ettim. Nedenini anlamama yardımcı olabilir misiniz? Önceki şirketimde Y yapıyorduk, ama ödünleşimleri merak ediyorum.”
Hata 2: Yardım İstememek ❌ Günlerce yalnız başına mücadele etmek
✅ Bunun yerine: 30 dakika denedikten sonra sorun. Apple verimliliğe, egoya değil değer verir.
Hata 3: Dokümantasyonu Atlamak ❌ “Sonra belgelerim”
✅ Öğrendikçe belgele. Bu SİZE VE bir sonraki yeni işe alıma yardımcı olur.
🔄 Plan B: Henüz Apple Değilse
Alternatif Yollar
Apple teklifi alamadıysanız:
Yol 1: Benzer Şirketler (FAANG)
- Google (SWE in Test)
- Meta (Software Engineer, Test)
- Amazon (SDET)
- Microsoft (SDET)
Yol 2: Mevcut Şirkette Büyü
- Test otomasyon girişimine liderlik et
- Sıfırdan framework inşa et
- Senior SDET’e terfi al
- 1-2 yıl içinde Apple’a tekrar başvur
Yol 3: İkinci Kademe Tech Şirketleri
- Uber, Airbnb, Netflix
- Deneyim kazan
- FAANG için daha iyi konumlanma
Yol 4: Startup’lar
- Birçok şapka giy
- Sıfırdan sistemler inşa et
- Hisse potansiyeli
- Harika öğrenme fırsatı
Apple Gerçekten Ne Görmek İstiyor
Sonraki Başvuruda:
- ✅ Daha fazla GitHub katkısı
- ✅ 100+ LeetCode çözüldü (mevcut 50’ye karşı)
- ✅ Büyük test girişimine liderlik ettiniz
- ✅ Konferansta konuştunuz veya blog yazdınız
- ✅ Open source katkıları
Zaman Çizelgesi:
Bugün: Teklif alamadınız
↓
6 ay: Beceriler geliştirin, projeler gönderin
↓
12 ay: Daha güçlü profille tekrar başvurun
↓
18 ay: Başka bir FAANG'da Senior SDET
↓
24 ay: Apple'a Senior SDET olarak başvurun
🎊 Sonuç: Hazırsınız!
Ne Öğrendiniz (8 Makalelik Yolculuk)
Makale 1: QA Temelleri
→ Test prensipleri, türleri, teknikleri
Makale 2: Pratik Beceriler
→ Test senaryoları, API testi, SQL, otomasyon temelleri
Makale 3: QA için DSA
→ Algoritmalar, veri yapıları, LeetCode stratejisi
Makale 4: Otomasyon Çerçeveleri
→ Playwright, Selenium, Karate, gerçek projeler
Makale 5: CI/CD
→ GitHub Actions, Jenkins, Docker, pipeline'lar
Makale 6: Test Tasarım Teknikleri
→ Sınır değerleri, eşdeğerlik sınıfları, karar tabloları
Makale 7: Performans Testi
→ JMeter, K6, Gatling, darboğaz bulma
Makale 8: İşi Almak
→ Özgeçmiş, mülakat, pazarlık, başarı!
Eylem Planınız - Sonraki 30 Gün
Hafta 1:
- Şablonu kullanarak özgeçmişi güncelle
- 2-3 GitHub projesini parla
- 10 LeetCode problemi çöz
Hafta 2:
- 5 pozisyona başvur (Apple + diğerleri)
- STAR hikayelerini pratik et
- Arkadaşla mock mülakat
Hafta 3:
- LeetCode’a devam (günde 5)
- Başvurduğunuz şirketler hakkında oku
- Mülakatçılar için sorular hazırla
Hafta 4:
- İlk mülakatlar (umarız!)
- Geri bildirime göre iterasyon
- Momentumu koru
Son Sözler
Benden size:
$45K maaşla manuel test uzmanı olarak başladım. Coding interview’lardan korkuyordum ve FAANG’ın “benim gibi insanlar için olmadığını” düşünüyordum.
Ama öğrenmeye yatırım yaptım:
- 6 ay: Otomasyon öğrendim
- 6 ay: DSA öğrendim
- 6 ay: Projeler inşa ettim
- 6 ay: Mülakat hazırlığı
18 ay sonra: $180K toplam tazminatla Apple teklifi.
Siz de yapabilirsiniz.
Bilgi orada (bu seride tükettiniz). Yol açık (her adımı gösterdim). Eksik olan tek şey — sizin eyleminiz.
Kaynaklar
Öğrenme:
- LeetCode: https://leetcode.com
- Test Automation University: https://testautomationu.applitools.com
- Playwright Docs: https://playwright.dev
İş Arama:
- levels.fyi (maaş verileri)
- LinkedIn Jobs
- Apple Careers: https://jobs.apple.com
Pazarlık:
- levels.fyi
- Blind uygulaması
- TeamBlind.com
🎯 Son Bir Şey
Apple ŞU ANDA işe alıyor.
“Hazır” olana kadar beklemeyin. Bugün yeterince hazırsınız.
Başvurun. Mülakat yapın. Öğrenin. İterasyon yapın.
Olabilecek en kötü şey? Neyi geliştireceğinizi öğrenirsiniz. Olabilecek en iyi şey? 3 ay içinde Apple’da çalışıyorsunuz.
Bu 8 makalelik yolculuğu takip ettiğiniz için teşekkürler!
QA temellerinden Apple’a hazır oldunuz!
Şimdi gerçekleştirin! 🚀
Yazar: AAnnayev
Sorular? Yorumlarda yazın! 👇
Teklif aldınız mı? Hikayenizi paylaşın! Sizinle kutlamak istiyorum! 🎉
Etiketler: #Apple #FAANG #SDET #SoftwareQuality #Interview #CareerGrowth #QA #Testing #Automation
P.S. Bu makaleyi kaydedin. Hazırlık sırasında geri döneceksiniz!
P.P.S. Apple’da çalışmayı hayal eden biriyle paylaşın! 🍎