Senior Mobile Developer · İstanbul

Ömer Aydemir

2019'dan beri yazılım geliştiriyorum, Aralık 2022'den bu yana mobil odaklı. Kurumsal bir saha satış ve CRM uygulamasının Android ve iOS tarafında çalışıyorum; aynı uygulamanın Xamarin.Forms'tan .NET MAUI'ye geçişini tek başıma yürüttüm ve uyumlu mağaza sürümünü yayına aldım.

Öne çıkan iş

Xamarin.Forms'tan .NET MAUI'ye: iki mağaza son tarihi arasında bir geçiş

Şirketin ana mobil ürünü, altyapısı yüzünden her iki mağazada da güncellenemez hâle gelmek üzereydi. Xamarin.Forms ne Google Play'in 16 KB sayfa boyutu gerekliliğini ne de App Store'un yeni SDK zorunluluğunu karşılayabiliyordu. Bu bir modernizasyon tercihi değil, sürüm çıkarabilmenin şartıydı.

Android tarafındaki son tarih aslen daha erkendi. Play Console üzerinden politika uzatma talebinde bulunup süreyi Mayıs 2026'ya çektirdim ve geçiş için alan açtım.

Takvim

  • 31 Ekim 2025 Xamarin.Forms tabanlı uygulamada son commit
  • 1 Kasım 2025 Google Play'in 16 KB sayfa boyutu gerekliliği yürürlüğe giriyor
  • 3 Kasım 2025 .NET MAUI reposunun ilk commit'i
  • 26 Aralık 2025 İlk Android sürümü hazır — sekiz hafta
  • 17 Nisan 2026 İlk .NET MAUI sürümü Google Play'de yayında
  • 28 Nisan 2026 App Store SDK son tarihi — on bir gün marj

Geçişte yapılan işler

  • Geçiş planını, sıralamayı ve riskli alanların önceliklendirilmesini kendim belirledim; uygulamayı baştan sona taşıdım.
  • Custom renderer'ları MAUI handler mimarisine taşıdım ve Controls.Compatibility bağımlılığından çıktım.
  • Android ve iOS native katmanlarını güncel platform gereksinimlerine uyarladım: 16 KB sayfa boyutu, edge-to-edge WindowInsets, yeni back-press API'si, iOS entitlements ve ekran görüntüsü koruması.
  • Crash ve analitik altyapısını AppCenter'dan Raygun + Firebase'e taşıdım; geçiş sırasında ortaya çıkan iOS bellek sızıntısını tespit edip giderdim.

Deneyim

Ekmob SFA — Mobil Uygulama Geliştirici

Aralık 2022 — Günümüz

İstanbul · Uzaktan

Sahada çalışan kurumsal ekiplerin kullandığı satış ve CRM ürününün Android ve iOS tarafındaki geliştirilmesi; mobil istemcilerin tükettiği REST API ve .NET Core servislerinde de geliştirme.

Performans ve kararlılık

  • Giriş akışına uçtan uca performans ölçümü ekledim. En büyük darboğaz yerel veritabanı senkronuydu: tek transaction'a indirgeyerek, gereksiz kayıtları filtreleyerek ve satır satır yazılan kullanıcı tablosunu tümüyle kaldırarak bu maliyeti pratikte ortadan kaldırdım; özellikle büyük veri setlerinde ilk giriş süresi belirgin şekilde kısaldı.
  • Bütün API çağrılarının tek bir global kilit üzerinden UI thread'de sıralandığını, JSON çözümlemesinin de aynı thread'de yapıldığını tespit ettim. HTTP katmanını yeniden yapılandırıp koleksiyon güncellemelerini ana thread'e ayırdım; en yavaş uçtaki gecikme belirgin şekilde düştü.
  • Yalnızca sahada, konum kaybedilip yeniden kazanılan ortamda ortaya çıkan bir donma hatasını kök nedenine kadar izledim: konum durumuna göre kök sayfanın takas edilmesi, ekran yeniden çizilse de dokunma girdisini yeni pencereye bağlamıyordu. Kök sayfayı sabitleyip tam ekran overlay'e geçerek sorunu kalıcı olarak çözdüm.
  • Kullanıcı loglarını ayrıştıran bir analiz aracı yazdım; çok müşterili performans raporlarını bu araçla üretip iyileştirme programını fazlara ayırdım.

Sürüm ve üretim

  • Sürüm hazırlama ve test ekibine teslim sürecinin sahibiyim. İmzalı Android ve iOS paketleri üreten GitHub Actions pipeline'ını kurarak release build'i geliştirici makinesinden çıkardım.
  • Kurumsal müşterilerden gelen donma, kilitlenme ve veri tutarlılığı sorunlarını crash kayıtları ve kullanıcı logları üzerinden analiz edip kalıcı düzeltmelere dönüştürdüm.

AI destekli geliştirme · 2026

  • Şirketin ürün ailesinin sıfırdan yeniden inşa edildiği dönüşüm programının mobil bacağında görev alıyorum; uygulama React Native ve Expo ile geliştiriliyor.
  • Önceden belirlenen kapsamlar için kod üretimini yönlendiriyor, ortaya çıkan çıktıları denetliyor ve ilgili bölümlerde kod inceleme yapıyorum.

Ekmob SFA — Full-Stack / Backend Developer

Mayıs 2019 — Aralık 2022

İstanbul

  • ASP.NET ve C# ile şirketin web uygulamalarının geliştirilmesi ve bakımı.
  • JavaScript, jQuery ve HTML/CSS ile arayüz tarafı; SQL / T-SQL ile veri katmanı çalışmaları.

Projeler

Folder Scope

Raycast Store incelemesinde

Finder'da açık olan klasörün içinde, ayrı bir arama uygulamasına geçmeden metin araması yapmayı sağlayan bir macOS Raycast eklentisi. Regex desteği, yazarken gelen iptal edilebilir sonuçlar ve sonucu desteklenen editörde ilgili satırda açma.

Arama motoru üç kademeli: paketlenmiş ripgrep, sistemdeki ripgrep ve Node.js tabanlı yedek — bağımlılık yoksa da çalışıyor. Aramalar cihazda yapılır.

TypeScript · Raycast API · Node.js · ripgrep · macOS

RAG Q&A API

Ocak 2025 — Şubat 2026

Bir eğitim kurumu için Python ve FastAPI ile, kurumun kendi içerikleri üzerinden yanıt üreten bir API geliştirdim.

İlk sürüm OpenAI Assistants API üzerine kuruluydu. Gecikme ve işlem akışını daha iyi gözlemleyebilmek, ayrıca Assistants API'nin kullanımdan kaldırılacak olması nedeniyle mimariyi LangGraph, FAISS ve PostgreSQL tabanlı bir yapıya taşıdım. Geçiş sürecini detaylı olarak planladıktan sonra AI araçlarını geliştirme sürecine dahil ederek geçişi tamamladım.

Python · FastAPI · LangChain · LangGraph · FAISS · PostgreSQL · Docker

Yetkinlikler

Mobil

.NET MAUI · Xamarin.Forms · C# · XAML · MVVM · CommunityToolkit.Mvvm · Syncfusion · Android ve iOS native katman · custom handler / renderer

Backend & Veri

.NET · .NET Core · ASP.NET · REST API tasarımı ve entegrasyonu · SQLite · SQL / T-SQL

Diğer platformlar

React Native · Expo · TypeScript · Python (FastAPI, LangChain / LangGraph)

Mühendislik

Performans profilleme ve enstrümantasyon · bellek ve disposal analizi · async-await eşzamanlılık · legacy modernizasyon · crash analizi · logging ve teşhis altyapısı · AI destekli geliştirme · kod inceleme · teknik dokümantasyon

Araçlar

Git · GitHub Actions · Jira · Firebase · Raygun · Postman · Makefile · Rider · Visual Studio

Eğitim ve diller

Eğitim

Balıkesir Üniversitesi

Ön Lisans, Bilgisayar Programlama · 2015 — 2017

Diller

Türkçe — ana dil

İngilizce — teknik doküman okuma düzeyinde