Yazılım Mühendisi / Teknik Lider
İstanbul / Fatsa, Ordu, TR
Profil
Teknolojiye olan tutkum, yazılım sektöründeki sürekli gelişimimin temel itici gücüdür. Bilgisayar Mühendisliği alanındaki sağlam altyapım ve devam eden Yönetim Bilişim Sistemleri eğitimimle, on yılı aşkın süredir .NET ve web teknolojilerinde uzmanlaştım. Lider olarak, ekip çalışmasına ve stratejik karar almaya öncelik veriyor, projeleri fikir aşamasından tamamlanmasına kadar başarıyla yönetiyorum. Güçlü ekipler kurmaya ve yenilikçi çözümler sunmaya kararlıyım; hızla değişen bu alanda öğrenmeye ve uyum sağlamaya her zaman açığım.
Beceriler
Diller
İngilizce
Programlama Dilleri Zaman Çizelgem
2006 -> Classic ASP, JavaScript, SQL(Access Veritabanı)
2008 -> PHP, SQL(MySQL)
2010 -> C#, SQL(SQL Server)
2019 -> Dart
2020 -> Go, SQL(PostgreSQL)
2021 -> N1QL(Couchbase)
2023 -> Elasticsearch
Mobil ve web tabanlı kasa uygulamaları geliştiriyoruz. Bu uygulamalarda hem geliştirici hem de teknik lider olarak görev alıyorum. Ar-Ge çalışmalarının çoğundan sorumluyum ve sistemi modern, güvenilir ve ölçeklenebilir tutmak için ekibi yeni teknolojileri keşfetme ve uygulama konusunda yönlendiriyorum. Yığınımız .NET 6.0, .NET 7.0, .NET 8.0, Go, SQL Server, Couchbase, Elasticsearch, Flutter, Vue.js, Microservices, Dapr ve Nats'ı içermektedir. Zamanla, .NET 8 ve SQLite kullanarak projeyi offline-first (önce-çevrimdışı) mimariye evrilttik. İş mantığını mikroservislerden soyutlayıp NuGet paketleri haline getirerek, hem merkezi sistemin hem de offline kasaların tek bir kod tabanı üzerinden çalışmasını sağladık. Böylece veri kaynağı değişse bile (SQL Server veya SQLite) iş kurallarının tutarlılığını garanti altına aldık. Ayrıca SQLite'ın JSON desteğinden yararlanarak, uyarlanabilirliği artıran ve genel sistem tasarımını iyileştiren daha esnek, NoSQL benzeri bir veri yapısı elde ettik. Proje başlangıcında odak noktası olan Pax cihazlarındaki mobil kasa uygulamasında mikroservis mimarisini korurken, kapsamlı kasa süreçleri devreye girdiğinde ana odağımızı offline-first mimariye çevirdik.
Şu sıralar, mevcut offline-first mimarimizi kullanarak Self-Checkout (Kendi Kendine Ödeme) kasaları üzerinde çalışıyoruz. Aynı güçlü altyapıyı korurken, kullanıcı arayüzünü (UI) son kullanıcı deneyimine (B2C) uygun, daha sezgisel ve yönlendirici olacak şekilde yeniden tasarlıyoruz. Böylece ağ kesintilerinden etkilenmeyen, hızlı ve kesintisiz bir ödeme deneyimi sunmayı hedefliyoruz.
Felaket senaryosu olarak, merkezle bağlantı gidip satış yedeklemesi yapılamadığında mağazada merkezi sunucu kurmak yerine kasalar arası gRPC ile P2P iletişimi geliştirdik. Böylece bir kasanın satışları diğer kasalara aktarılabiliyor ve sistemin dayanıklılığı ile erişilebilirliği artırılmış oldu.
POS entegrasyonunun sonraki aşamasında, kart ve banka anlaşmalarına göre kasiyere uygulama ekranında taksit seçenekleri dinamik olarak sunulmaya başlandı. Böylece, peşin fiyatına taksit anlaşmalı bankaya ait kartla vadeli satış yapılmasının önüne geçilerek, şirket ve müşteri çıkarlarına uygun taksit seçimi sağlandı.
Teknik sorumluluklarımın yanı sıra, ekibin teknik gelişimine katkı sağlamak önceliğimdir. Düzenli kod incelemeleri (Code Reviews) ve teknik paylaşımlarla bilgi paylaşım kültürünü teşvik ediyor, junior ve mid-level geliştiricilere mentörlük yapıyorum. Ayrıca CI/CD süreçlerinin iyileştirilmesi ve mimari standartların belirlenmesiyle, yazılım geliştirme yaşam döngüsünün (SDLC) kalitesini ve hızını artırmaya odaklanıyorum.
Kıdemli geliştirici olarak, mobil ve web tabanlı kasa uygulamalarının hem arka hem de ön yüz geliştirilmesinde aktif rol aldım. Yeni özelliklerin uygulanması, performans optimizasyonu ve kod kalitesinin sağlanması için en iyi uygulamaları ve kod incelemelerini gerçekleştirdim. Teknoloji yığınımız .NET 6.0/7.0/8.0, Go, SQL Server, Couchbase, Elasticsearch, Flutter, Vue.js, Mikroservisler, Dapr ve Nats'tan oluşuyordu. Mimari karar süreçlerine katıldım ve çapraz fonksiyonlu ekiplerle birlikte ölçeklenebilir ve sürdürülebilir çözümler geliştirdim.
Bu dönemde, Türkiye'de yaygın olarak kullanılan Worldline (eski Ingenico) cihazları ve şirketin ECR protokolü olan IMPPro ile fiziksel POS entegrasyonunu gerçekleştirdik. İlk aşamada entegrasyon sadece ödeme yönlendirmesi sağlıyor, kasiyer işlemi uygulamadan başlatıp POS cihazında devam ettiriyordu.
Bu pozisyonda, turizm ve rezervasyon web projelerinin hem arka hem de ön yüz geliştirilmesinden sorumluydum. Rezervasyon formlarının tasarımı ve uygulanması, üçüncü parti API entegrasyonları ve mevcut sistemlerin bakımı görevlerim arasındaydı. ASP.NET Web Forms ve WCF ile servis tabanlı mimariyi hayata geçirdim, jQuery ve Bootstrap ile modern ve kullanıcı dostu arayüzler geliştirdim. HTML, CSS, JavaScript ve Bootstrap ile duyarlı ve tarayıcı uyumlu tasarımlar sağladım.
Tam yığın geliştirici ve sunucu yöneticisi olarak, reklam ve e-ticaret sistemlerinin geliştirilmesinde liderlik yaptım. ASP.NET MVC ve Entity Framework ile ölçeklenebilir web uygulamaları geliştirdim, Angular.js ve jQuery ile dinamik kullanıcı arayüzleri oluşturdum, Bootstrap ile modern tasarımlar sağladım. Ayrıca, Windows sunucu ortamlarının yönetimi (IIS ve DNS sunucusu konfigürasyonu), otomatik dağıtım ve sistem izleme ile yüksek erişilebilirlik sağladım.
Serbest geliştirici ve teknoloji meraklısı olarak, sürekli yeni programlama dilleri, framework'ler ve araçlar öğreniyorum. 2006 yılında HTML ve Classic ASP ile başladığım web geliştirme yolculuğumda, edindiğim bilgileri kişisel ve serbest projelerde uyguladım. Odak noktam; test edilebilir, sürdürülebilir ve ölçeklenebilir çözümler üretmek, modern mimarilerle denemeler yapmak ve yeni teknolojileri iş akışıma entegre etmektir. Aşağıda, her biri test edilebilir ve canlı olarak erişilebilen tamamlanmış projelerim yer almaktadır.
Lisans Derecesi
Lise Diploması