İçeriğe geç

15 yıl

Mühendislik

Ankara'da yazılım mühendisiyim. On beş yıldır bu işteyim; çoğu JVM üzerinde dağıtık sistemler tasarlamak ve işletmekle geçti. 2023 sonundan beri büyük veri: önce Apache Spark'ın iç yapısı, sonra Apache Iceberg; bugün Huawei Cloud'da bulut veri platformunun Spark + Iceberg depolama tarafı.

İş dışında ürün çıkarıyorum: Iceberg metadata'sı için bir masaüstü aracı, Claude Code için bir durum çubuğu, bir dokümantasyon kiti, çocuklarım için bulmaca oyunları. Anlamam uzun süren ve başkasının daha kısa sürede anlamasını sağlayabileceğim bir şey olunca yazıyorum.

Veri platformları üzerine ayda birkaç günlük bağımsız işlere açığım.

Deneyim

  1. 2023–bugün

    Huawei Cloud· Kıdemli yazılım mühendisi, Spark ve Iceberg

    Bulut veri platformunun Apache Spark ve Apache Iceberg depolama tarafı; Iceberg ile kesiştikleri yerde Flink ve Paimon.

    • Spark executor'larının Vertical Pod Autoscaler kullanmasını sağlayan, Go ile yazılmış bir Kubernetes admission webhook'u; spark-operator ve Volcano ile uyumlu, uçtan uca testlerle korunuyor.
    • Huawei Cloud için YARN'a alternatif, Scala ve Python ile yazılmış özel bir Spark küme yöneticisi; iç önbellek katmanı için otomatik jeton yenileme.
    • Iceberg upsert tablolarından satır düzeyinde değişiklik olaylarını FlinkSQL ile akıtma; Spark'ın merge-scalar-subqueries iyileştirmesinin içeri alınması; darboğazları her seferinde aynı biçimde gösteren kıyaslama analiz araçları.

    Apache Spark, Apache Iceberg, Flink, Kubernetes, Go, Scala, Java, Python

  2. 2017–2023

    Atlassian· Yazılım mühendisi, dağıtık sistemler

    Nöbet ve bildirim sistemlerinin arkasındaki altı yıl; satın almalar, ofis kapanışları ve işten çıkarmalar boyunca dağıtık sistemler tasarlamak ve ayakta tutmak.

    • Eski nöbet çizelgeleme sisteminin kesintisiz olarak monolitten mikroservislere taşınması; dünya çapında milyonlarca kişi kullanıyor.
    • Dağıtık nöbet olay sistemleri ve hiç durmayan küresel bir bildirim servisi için AWS üzerinde (DynamoDB, SQS, SNS) %99,9 erişilebilirlik.
    • Bildirim teslim sorunlarında hızlı teşhis ve bir sonrakini ekibin bensiz çözmesini sağlayan teknik yazılar.

    Java, Kotlin, Spring, AWS

  3. 2013–2017

    MilSOFT· Yazılım mühendisi, savunma

    Savunma sistemleri için entegrasyon testleri; test araçlarının henüz olmadığı bir yerde.

    • Şirket içi bir Java test ve emülasyon aracını tasarımdan dağıtıma yürüttüm; başka projelerin entegrasyon testi ve hata ayıklama tıkanıklığını açtı.
    • Ağ, çok iş parçacıklı programlama, iletişim protokolleri, kaynak kısıtları, günlükleme ve özel ayrıştırıcılar, her biri başarım için ayarlı; C++ ile 12 bitlik bir JPEG ayrıştırıcı.

    Java, JavaFX, Swing, C++

  4. 2012–2013

    AnelARGE· Yazılım mühendisi, ağ güvenliği Ar-Ge

    Ağ güvenliği üzerine çalışan bir Ar-Ge şirketi; birbirini hiç görmemiş teknoloji yığınları arasındaki tutkal.

    • Şirketin teknoloji yığınlarını birbirine bağlayan WSO2 ESB omurgası; istekleri veritabanı ölçütlerine göre yönlendiren, C ile yazılmış bir Apache web sunucusu modülü; Eclipse RCP ile görselleştirme.

    Java, C, WSO2, Eclipse RCP

  5. 2011

    ExtremePACS· Yazılım mühendisi, sağlık

    Sağlık alanında bir girişim; yazılımını yaptığımız hastanelerde neredeyse yaşıyorduk, aynı anda birçok rol, prosedürler daha yazılıyordu.

    • Görüntü arşivleme (PACS) ve radyoloji bilgi (RIS) sistemleri, .NET ile, gereksinimden hastane katındaki teslimata; elle yapılan adımları ortadan kaldıran iç dağıtım araçları.

    C#, .NET, Silverlight, WCF

Seçme projeler

Tüm projeler

Canlı ve kullanımda.

  • Bilge Baykuş

    yayında

    Çocuklar için Türkçe günlük bulmaca oyunları; web'de ve mobil uygulama olarak.

    Web sitesi

  • havasaha

    yayında

    Türkiye'de drone uçuşuna açık ve yasak bölgelerin haritası — SHGM bölgeleri, NOTAM alanları, 3B arazi ve güneş saatleri. Hesap yok, ücret yok.

    Web sitesi

  • Iceberg Lens

    yayında

    Apache Iceberg ve Paimon tablo metadata'sını manifestleri elle okumak yerine anlık görüntü bazında bir grafik olarak gösteren masaüstü araç.

    Web sitesi GitHub

  • claude-quota

    yayında

    Claude Code için tüm kullanım kotalarını tek bakışta gösteren bir durum çubuğu eklentisi - beş saatlik ve haftalık pencereler, model payı, harcama; kullanım sayfasını açmaya gerek kalmaz.

    Web sitesi GitHub

  • oku

    yayında

    Bir dokümantasyon kiti. Sayfalar Markdown'da yazılır, tarayıcıda Custom Element'lerle çizilir; CLI çok sayfalı siteyi, arama dizinini, çevrimdışı okuma için tek dosyalık kopyaları ve LLM okuyucular için llms.txt'yi üretir.

    GitHub

  • LogMerge

    yayında

    Çok sayıda büyük günlük dosyasını ve arşivi tek bir zaman sıralı akışta birleştirir; çok çekirdekli makinelerde yüksek işleme hızı için tasarlandı.

    Web sitesi GitHub

Son yazılar

Tüm yazılar

Spark, Iceberg, temiz kod ve yaptığım araçlar üzerine yazılar — yukarıdaki işin uzun hâli.

  1. Iceberg Manifest'lerini Elle Okumayı Bırakın

    Apache Iceberg metadata'sını keşfetmeyi daha hızlı ve kolay hale getiren yeni bir araç: Iceberg Lens. Karmaşık metadata'yı ayrıntılı inceleme imkânı sunan etkileşimli bir grafiğe dönüştürür; dosyaları elle ayrıştırmadan hata ayıklamak ve tablo yapısını anlamak için tasarlandı.

  2. Tasarım Zorluğu: Kubernetes VPA'yı Apache Spark ile Entegre Etmek

    Kubernetes Vertical Pod Autoscaler'ı (VPA) verimli kaynak yönetimi için Apache Spark ile entegre etmenin zorluklarını ve tasarım yaklaşımlarını inceliyoruz.

  3. 10 Yılı Aşkın Backend Deneyiminden Sonra Neden Büyük Veri Mühendisliğine Geçtim

    Backend mühendisi olarak on yılı aşkın bir süre çalıştıktan sonra yeni bir alana geçtim. Bu yazıda büyük veri dünyasına beklenmedik geçişimi ve kariyer değişikliğimin arkasındaki motivasyonları anlatıyorum.