Dört yılı aşkın süredir üretim ortamına çıkan web uygulamaları geliştiriyor ve ölçekliyorum. Mesaimin büyük kısmı kurumsal müşterilerin — bankalar dahil — kullandığı platformlarda geçiyor; oralarda ilginç olan kısım genelde özelliklerin kendisi değil: eski sistemin taşınması, güvenliğin sertleştirilmesi, dağıtımın sık sürüm çıkmayı engellemeyecek kadar ucuz tutulması.
İş dışında kendi ürünlerimi uçtan uca yapıp yayınlıyorum: mobil istemci, arka uç, yönetim paneli, mağaza yayını ve hepsinin üstünde koştuğu sunucu. Ana sayfadaki projeler bu taraf.
Kurumsal müşterilerin, bankacılık sektöründeki kuruluşlar dahil, kullandığı bir platformun modernizasyonunu yürüttüm — ürünü kapatmadan yapılan bir AngularJS'ten React'e geçiş.
Monorepo mimarisi, Storybook ve ortak bileşen standartlarını getirdim; ekipler arası tutarlılık arttı, tekrar eden arayüz işi azaldı.
Arka uç servisleri, üçüncü taraf eklentiler ve POS cihaz entegrasyonları genelinde güvenlik denetimleri, SQL injection kontrolleri ve uç nokta sertleştirmesi yaptım. Sızma testini ve uyumluluk incelemesini mümkün kılan Swagger dokümantasyonunu yazdım.
Süresi dolan tek kullanımlık davet bağlantıları, özel rapor e-postaları ve bildirim zincirlerinden oluşan otomatik bir akış kurdum — müşteri iletişimi iş yükü %30 azaldı.
Müşterilerin bileşenlerini kendilerinin kurabilmesi için yeniden kullanılabilir bir eklenti çatısı (QR kod, kaydırıcı, saat) tasarladım; büyük bankalar için döviz kuru, gişe numarası ve hava durumu gibi dinamik içerikler geliştirdim.
Oyun fuarlarında ve saha etkinliklerinde teknik sorumluluk; seyirci önünde, anlık sorun çözme.
Cihaz kurulum ve değişim süresini %70 kısaltan bir PowerShell otomasyon betiği optimize ettim.
Telefon ve uzak bağlantıyla donanım/yazılım sorun giderme.
Son kullanıcı desteği, envanter yönetimi ve yeni teknolojilerin devreye alınması; büyük oyun etkinliklerinde teknik sorumluluk.
İş projelerinde de kendi projelerimde de dönüp dolaşıp geldiğim birkaç şey:
Değişikliği değil, gerekçesini yaz. Sahip olduğum her projede kodun yanında bir karar günlüğü duruyor: ne denendi, ne kırıldı, mevcut hâl neden seçildi. Bugün bir saate mal oluyor, birileri (genelde aylar sonra ben) "bu neden böyle?" diye sorduğunda bir haftayı kurtarıyor.
Ayarlamadan önce ölç. Zorluk eğrisi, liste sıralaması, reklam yoğunluğu — his üzerinden tartışmaktansa cihazdan bir sayı okumayı tercih ediyorum.
Hata kullanıcıya sessiz, bana gürültülü olsun. Yüklenmeyen bir reklam ya da hiç gelmeyen bir konum düzeltmesi ekranı yanında götürmemeli — ama logda tereddütsüz görünmeli.
Yolun tamamını üstlen. Ana sayfadaki ürünler yönettiğim tek bir sunucuda koşuyor: konteynerler, ters vekil, TLS, yedekler ve sürüm hattı dahil.
Proje, iş birliği ya da soru için: