Yeni pozisyonlara açığım

Baran Nacar

Android ve Kotlin Multiplatform Geliştirici

Beko'da (Arçelik Grubu) yaklaşık beş yıl Android TV ve Google TV Ar-Ge ekibinde çalıştım. Şimdi Kotlin Multiplatform ve Unity ile Android ve iOS için kendi uygulama ve oyunlarımı geliştirip yayınlıyorum.

İstanbul, Türkiye

Smeltara demirhane atölyesi, yukarıdan görünüm, ürün üreten çalışanlarla
Quiz Flux kategori ekranı ve Quizi Başlat düğmesi
Üçlü kart masası, oyunun ortasında

Öne çıkanlar

~5yıl Beko'da
Android TV ve Google TV Ar-Ge, Kasım 2020 ile Eylül 2025 arası
3uygulama Google Play'de
Quiz Flux, Smeltara ve Üçlü, Nacar Apps adıyla yayında
2uygulama App Store'da
Quiz Flux ve Smeltara. 1 uygulama daha App Store incelemesinde
3platform
Android, iOS ve Android TV / Google TV

Geliştirip yayınladığım uygulamalar

Nacar Apps adıyla tek başıma geliştirdiğim, test ettiğim ve yayınladığım üç uygulama ve oyun.

Quiz Flux uygulama simgesi

Quiz Flux

Günlük bilgi yarışması oyunu5 dil

Cosmic Arcade temalı günlük quiz: kategoriler, jokerler, liderlik tablosu.

  • Kotlin Multiplatform
  • Compose Multiplatform
  • Coroutines / Flow
  • Ktor
  • SQLDelight
  • Firebase
  • Cloud Functions
  • GitHub Actions

Neler geliştirdim

  • Android ve iOS için Kotlin Multiplatform uygulaması: veri, domain ve ViewModel katmanları ortak Kotlin kodunda; platforma özel servisler expect/actual ve Swift köprüleriyle bağlanıyor.
  • TypeScript Cloud Functions ile Firebase backend: sunucu tarafında skor doğrulama, ödül talepleri, arkadaşlık istekleri ve hesap silme. Callable fonksiyonlarda App Check zorunlu, Firestore kuralları emülatörde test ediliyor.
  • Liderlik tabloları, arkadaşlar, başarılar ve 5 dil desteği: MVVM ile Compose Multiplatform arayüz, Ktor ağ katmanı, kotlinx.serialization ve SQLDelight soru veritabanı.
  • 628 birim ve 131 enstrümantasyon testi, self-hosted Windows ve macOS runner'larında GitHub Actions CI/CD ve her mağaza derlemesini kaynak commit'ine bağlayan bir sürüm kaydı.
  • Quiz Flux: dört seçenekli, süreli bir bilgi sorusu ve joker çubuğu
  • Quiz Flux: Spor kategorisinin seçili olduğu kategori ekranı ve Quizi Başlat düğmesi
  • Quiz Flux: başarılar ve günlük seri ödülleri
  • Quiz Flux: güçlendiriciler, günün bonusu ve günlük görevlerle ana ekran
Smeltara uygulama simgesi

Smeltara

Idle demirci işletme oyunu7 dil

3 şehirde demirhaneni büyüt, 72 ürün üret ve 18 atölyeyi geliştir.

  • Unity 6
  • C#
  • URP
  • Unity Gaming Services
  • Unity IAP
  • Cloudflare Workers
  • AdMob

Neler geliştirdim

  • Unity 6 (URP, C#) ile tamamen prosedürel sahne: tek bir bootstrap kamerayı, dünyayı, arayüzü ve yöneticileri kodla kuruyor; sistemler birbiriyle olaylar üzerinden haberleşiyor.
  • Atomik kayıt (önce .tmp dosyasına yazıp sonra yer değiştirme, bozulmada .bak yedeğinden kurtarma), oyuncu ilerlemesini asla silmeyen sürümlü ileri migrasyonlar ve Unity Gaming Services üzerinde Cloud Save.
  • Cloudflare Workers ve D1 üzerinde sunucu tarafı satın alma kaydı: Google Play siparişlerini doğruluyor, her satın alma token'ını tek kez işliyor ve iadeleri yönetiyor.
  • Ekonomi deterministik bir simülatörle dengelendi. Headless PlayMode smoke testi ve Editor denetimleri, 7 dilde yerelleştirme tutarlılığı ve sınıf boyutu sınırı gibi kuralları kontrol ediyor.
  • Smeltara: ürün üreten çalışanlarla yukarıdan görünen bir demirhane atölyesi
  • Smeltara: 48. seviyedeki Balta istasyonunun geliştirme paneli
  • Smeltara: Saltmarch şehrindeki atölye
  • Smeltara: karlı Frostholm şehrindeki atölye
Üçlü uygulama simgesi

Üçlü

İki kişilik koz ve üçlü oyunu2 dil

Üçlüleri topla, kozu yönet: Çırak, Kalfa ve Usta'ya karşı kart oyunu.

Google PlayApp StoreApp Store incelemesinde
  • Unity 6
  • C#
  • .NET
  • NUnit
  • ISMCTS
  • Play Games Services
  • Game Center

Neler geliştirdim

  • Unity bağımlılığı olmayan saf C# kural çekirdeği: deterministik ve seed ile tekrarlanabilir; komut alıp olay üretiyor. Aynı kod oyunu, botları ve headless simülasyonları çalıştırıyor; Unity dışında düz .NET projesi olarak da derleniyor.
  • Hile yapmayan botlar: her bot yalnızca kendi yerinden görülebilen bilgiyi kullanıyor, gizli kartları asla görmüyor. En zor seviye rakibin olası ellerini örnekleyip her biri için arama yapıyor (PIMC veya ISMCTS), son elleri ise kesin olarak hesaplıyor.
  • Zorluk seviyeleri, bot-bot simülasyonlarında ölçülen kazanma oranları hedef aralıklara oturtularak ayarlandı.
  • 17 test assembly'sinde yaklaşık 990 NUnit testi ve katman kuralları için mimari testler. 1.0 sürümü cihaz dışına veri göndermiyor; bir sürüm kontrolü pakette reklam, analiz ya da çökme raporlama SDK'sı olmadığını doğruluyor.
  • Üçlü: oyunun ortasında kart masası, koz kartı ve oyuncunun eli
  • Üçlü: el sonu özeti; 2 puanlık çift galibiyet, kart puanları ve kazanılan rozetler
  • Üçlü: oyun sırasında konuşma balonuyla tepki veren bot
  • Üçlü: üç bot rakipten birinin ve hedef puanın seçildiği yeni oyun ekranı

Deneyim

  1. Nacar Apps

    Kendi uygulamalarım ve oyunlarımİstanbul, Türkiye

    1. Nis 2026 - Günümüz

      Bağımsız Mobil Geliştirici

      • Android ve iOS için kendi uygulama ve oyunlarımı geliştirip yayınlıyorum: Kotlin Multiplatform ile Quiz Flux, Unity ile Smeltara ve Üçlü.
      • Her aşamayı kendim yürütüyorum: mimari, backend, test, CI/CD, mağaza sayfaları ve Google Play ile App Store sürümleri.
      • Firebase ve Cloudflare Workers backend'lerini, Google UMP onayıyla çalışan reklamları ve sunucuda doğrulanan uygulama içi satın almaları yönetiyorum.
  2. Beko (Arçelik Grubu)

    Android / Google TV Ar-Geİstanbul, Türkiye

    1. Nis 2023 - Eyl 2025

      Ar-Ge Kıdemli Uzman Yazılım Mühendisi

      • Avrupa, Türkiye ve MENA bölgesinde Arçelik, Beko, Grundig ve Altus modelleriyle yayınlanan Android TV uygulamalarının Kotlin ve Java geliştirmesine MVVM ve yeniden kullanılabilir bileşenlerle liderlik ettim.
      • Uçtan uca kablosuz (OTA) güncelleme akışlarının sorumluluğunu üstlendim; Google TV sertifikasyon gereksinimleri doğrultusunda yazılım sürümlerini QA, ürün ve donanım ekipleriyle koordine ettim.
      • Canlı ortamdaki hataları Logcat ve cihaz seviyesinde hata ayıklama ile inceledim; C seviyesindeki sürücü hatalarının kök neden analizini chipset iş ortağıyla koordine ettim.
      • Kod incelemeleri, eşli programlama ve Android mimarisi ile temiz kod konularında rehberlik yoluyla junior mühendislere mentorluk yaptım.
    2. Ağu 2021 - Nis 2023

      Ar-Ge Uzman Yazılım Mühendisi

      • Anten, uydu ve kablo taraması, kanal listesi yönetimi ve şifreli yayınlar için CI CAM desteği dahil olmak üzere Channel Editor ve Easy Channel Installation uygulamalarını geliştirdim.
      • Netflix, Prime Video ve HBO entegrasyonlarını iş ortağı test paketleri, oynatma doğrulaması ve birden fazla TV modelinde hata incelemesiyle destekledim.
      • QA ve saha raporlarını tekrarlanabilir hata kayıtlarına dönüştürdüm, uygulama ve platform davranışlarını inceledim, düzeltmeleri chipset ve platform iş ortaklarıyla koordine ettim.
    3. Kas 2020 - Ağu 2021

      Proje Mühendisi

      • Taşıma, silme, atlama, yeniden adlandırma ve favori işlemlerini içeren ilk Android TV Channel Editor uygulamasını geliştirdim; QA ve üretim sürümleri öncesinde uygulama davranışını doğruladım.
      • Uydu, kablo, USB, Ethernet ve Wi-Fi girişlerinde donanım-yazılım entegrasyonunu test ettim ve dört TV markasında OTA doğrulamasına destek verdim.

Beko'da katkı verdiğim ürünler

Android / Google TV Ar-Ge ekibindeyken katkı verdiğim, mağazalarda yayında olan ürünler.

Android, iOS

Smart Remote

Arçelik, Beko ve Grundig markalı sürümlerin ortak TV kumanda uygulaması; bakım ve hata düzeltme çalışmalarını destekledim. Kapsamı: yerel ağ üzerinden TV kontrolü, metin girişi, kanal gezinme ve uygulama başlatma.

Android, iOS

RemotEasy

Arçelik, Beko ve Grundig Android ve Google TV'ler için mobil kumanda: yerel ağda cihaz keşfi, PIN ile eşleştirme, uzaktan gezinme ve özelleştirilebilir kısayollar.

Android TV

Arçelik Channel, Grundig Channel

Android TV için içerik keşfi ve uygulama erişimi uygulamaları.

Android TV projeleri

  • Channel Editor

    Kanal taşıma, silme, atlama, yeniden adlandırma ve favoriler; kanal listesini içe ve dışa aktarma.

    Java, Kotlin, Leanback, Room

  • Easy Channel Installation

    Arka planda kanal algılayan temel ve gelişmiş kurulum modları.

    Java, Kotlin, arka plan servisleri

  • Sound Personalization

    TV'nin odadaki konumuna göre sesli ve görsel ipuçlarıyla rehberli ses ayarı.

    Kotlin, animasyonlar, ses API'leri

  • Picture Personalization

    Referans görsellerle rehberli parlaklık, kontrast, renk tonu ve gama ayarı.

    Kotlin, özel arayüz

  • TV Booster

    Kullanılmayan dosya temizliği, RAM baskısını azaltma ve OLED piksel yenileme entegrasyonu.

    Kotlin, sistem API'leri

Yetkinlikler

Programlama dilleri

  • Kotlin
  • Java
  • C#
  • TypeScript
  • Python

Mobil ve multiplatform

  • Kotlin Multiplatform
  • Compose Multiplatform
  • Jetpack Compose
  • Material 3
  • Coroutines / Flow
  • MVVM
  • Clean Architecture
  • expect/actual ve Swift interop

Veri, bulut ve backend

  • Ktor
  • kotlinx.serialization
  • SQLDelight
  • Firebase Auth
  • Firestore
  • Cloud Functions (TypeScript)
  • Firestore güvenlik kuralları
  • Cloud Messaging
  • Crashlytics
  • App Check
  • Cloudflare Workers + D1

Test ve teslimat

  • JUnit 4
  • MockK
  • kotlinx-coroutines-test
  • Enstrümantasyon testleri
  • Vitest
  • NUnit
  • GitHub Actions CI/CD
  • Firebase App Distribution
  • TestFlight
  • Google Play Console
  • App Store Connect

Oyun

  • Unity 6
  • URP
  • Unity Gaming Services
  • Unity IAP
  • UMP onaylı AdMob
  • Play Games Services
  • Game Center

Android TV platformu (Beko)

  • Android TV
  • Google TV
  • Leanback
  • ExoPlayer
  • Room
  • Retrofit
  • WorkManager
  • OTA güncellemeleri
  • Logcat
  • Android Profiler

Araçlar ve çalışma düzeni

  • Android Studio
  • Git
  • GitHub
  • Gradle
  • Jira
  • Confluence
  • Agile / Scrum

Eğitim ve diller

Eğitim
Yıldız Teknik ÜniversitesiElektronik ve Haberleşme Mühendisliği, Lisans2015 - 2020
Diller
Türkçe: ana dilİngilizce: orta üstü (B2)
Sertifika
Six Sigma Green Belt