Kariyer

1996 İstanbul doğumluyum ve çocukluğumdan beri bilgisayara ilgili olduğumdan yazılım üzerine okudum ve daha sonrasında bu alanda kendimi sürekli olarak geliştirdim ve bu gelişmelerin yanında bir çok proje yaptım. Hedeflerimin arasında iyi ekiplerle beraber çalışabilmek ve ileriye yönelik iyi projeler çıkarmaktır.

Çalıştığım yerlerde yaptığım şeylere ait bilgiler ve bazı bireysel olarak yaptığım projeleri kısaca aşağıda bölümlendirmiş olacağım.

Bazı Bireysel Yaptığım Projeler

Yaptığım Algoritma Çalışmaları ve Bazı Case Study

Üzerinde Çalıştığım Diller (Ne yazıyorum, neye meraklıyım ?)
  • Uzmanlık olarak kendimi geliştirdiğim dil PHP (Laravel / Symfony) ve vakit oldukça Golang ve Python üzerinde geliştirmeler yapıyorum.
  • İkinci planda back-end olarak ağırlıkta bilgim olan C# (WPF&WinForm&ASP.NET)'dir
  • Üçüncü planda back-end olarak sırayla bilgi seviyesi olarak Java, Python, Dart'dır
  • Front-end Javascript taraflı JQuery, Angular ve Vue şeklindedir.
  • Mobil taraflı Android(Java&Kotlin) ve Flutter
Hangi İşletim Sistemlerinde Çalışıyorum

Dual Boot kullanıyorum çoğunlukla Linux Ubuntu ve Windows üzerinde daha çok çalışıyorum.

Software Principles & Pattern Design Yazdığım Makaleler
Software Testing
  • TDD (Test Driven Development)
  • BDD (Behavior Driven Development)
  • ATDD (Acceptance Test Driven Development)
Software Development Processes
  • SDLC (Software Development Life Cycle)
  • Agile Development
  • CI (Continuous Integration) / CD (Continuous Delivery) - Jenkins
Databases
  • PostgreSQL
  • Mysql
  • Microsoft SQL Server
NoSQL Databases
  • MongoDB
  • Apache Cassandra

Software Virtualization
Full Text Search Engine
  • Elasticsearch
  • Sphinx
Message Brokers && Message Queue (MQ)
  • RabbitMQ
  • Apache Kafka
Caching Tools

    Curious / Interested
    • Microservices
    • Jenkins
    • GraphQL
    • GCP - Google Cloud Platform
    • AWS - Amazon Web Services 
    BAĞLANTILAR

    Çalışma Deneyimlerim

    Helios Digital Solutions
    09.2014 - 06.2015 (10 Ay)
    Stajyer

    İş tanım: Lise stajyeri olarak yazılım ve teknik destek.
    Detay: 
    • Bankamatik bileşenlerinin, T.V ve Mini bilgisayarların tamiri ve işletim sistemlerinin ve yazılımlarının kurulması.



    3SGRUP
    06.2016 - 08.2016 (3 Ay)
    Stajyer

    İş tanım: Üniversite stajyeri olarak Mobil ve Web Uygulamaları Geliştirme.
    Detay: 
    • Mobil uygulaması ticket tarzında müşteri ilişkilerini sorunlarını takip etmek adına geliştirilen mobil uygulama.
    • Daha çok wordpress ve müşteriye özel websitelerin geliştirilmesiyle alakalı çalışmalar oldu.



    Mediapia It Consulting
    02.2018 - 05.2018 (4 Ay)
    PHP Developer

    İş tanım: Angular & PHP üzerinde geliştirme ve restful.
    Detay:
    • Sıfırdan Asana veya Trello birebir benzer kendi iş takip yazılımlarını yaptım.



    Magosa Deniz Komutanlığı (Askerlik)

    2018 - 2019 (1 Yıl)

    Kıbrıs / Magosa da Muhafız Çavuş olarak görevimi tamamladım.
    Görevimi yaparken (Yazıcı değildim) ek olarak da Microsoft Access in Form arayüzünü kullanarak Visual Basic ile Nöbet Programı yazdım. Tekrar eden iş yükü ve bazı sorunların önüne geçilmesi sağlandı.


    Hizmet Merkezim
    01.2020 - 04.2021 (1 Yıl / 4 Ay)
    Full Stack Developer

    İş tanım: Full Stack Developer olarak Laravel ve PHP dilleriyle yazılmış mevcut websitelerinin geliştirilmesi.
    Detay: Yazılımda olan çok fazla hatanın giderilmesi ve eksikliklerin büyük açığının kapatılması.

    • Günlük İş akışının doğru yapılıp yapılmadığını kontrol eden monitörler.
    • Personelleri takip eden ve istatistiklerini gösteren monitörler.
    • Telefon trafiğini kontrol edip kaçan telefonları monitör de gösterme ve trafiğin derinlemesine analizleri.
    • Depo malzemelerinin barkod ile okunması ve araçların sayımları için kontrol yazılımları.
    • Sistemde servisler mevcuttur ve personel servisi ustaya atamak istediğinde saha da olan en yakın ustaların araçlarını rotalarıyla beraber gösterir. Süresi ve km bilgisi de yer alır. Analiz kısmında ise servise gitme süresine kadar geçtiği yollar haritada gösterilir.
    • Belli bir hızı geçen araçların ekrana uyarı vermesi ve ustanın uyarılması.
    • Reklam sitelerinin yazılması ve bunlardan ayrı olarak wordpress olarak da hizmetmerkezim.com ve istanbulalperenocaklari.org yapılmıştır.
    • Kaza raporu adı olarak sıfırdan Laravel ile yazdığım bir proje mevcuttur. Bu proje de her şey zaman ayarlı arkaplanda(Cron job) işlenir örnek yapılan iş google da haberler kısmına kelime aranır ve googlenin verdiği sonuçları kısmında linkler alınır ve o linklere ziyaret edilip analizler çıkarılır ve personele sunulur.
    • Hazır muhasebe programının SQL Server ile bağlantılı NAS cihazına yedekleyecek WinForm ile programın yazılması.
    • Ustaların tabletlerin ayarlanması ve destek verilmesi. Ofis içi Teknik destek ve çözümlemeleri.
    • Firewall cihazının konfigürasyonları ve akıllı switch ayarlarının yapılması.



    Jengal Yazılım
    05.2021 - 03.2022 (11 Ay)
    PHP Developer

    İş tanımı: Mevcut projelerin geliştirilmesi ve mevcut projenin refactoring yapılması, dökümantasyonların çıkarılması ve canlı projenin yayınlama süreçleri.
    Detay:
    • Dopinger projesinde iyileştirmelerin yapılması.
    • Dopinger iletişim formunda(contact) istenmeyen kelimelerin kullanımında uyarı ve tekrarlanması halinde geçici ban atılması.
    • Dopinger projesinde Kubernetes kullanıldığından pods göre kod yazılması gerekir. Birden fazla pod olma durumunda örneğin Queue sisteminde iki farklı aynı kuyruk oluşup aynı veritabanını çekip işlemler gerçekleştirir ama bu durum hatalara neden olacaktır.
      Benzer senaryo ise Html Cache dosyalarının local olarak tutulduğu durumda iki poddan da silinmesi gerektiği gibi durum oluşmaktadır.
      Database Cache de ise Redis kullanıldığından ortak bir noktadan çektiği için farklı pods da sahip olsa sorun olmamaktadır.
      Bu tip durumlar için senaryo kurgularının sağlanmasında rol oynama.
    • Docker da gerekli olan kütüphanelerin eklenmesi ve paket sistemine uyarlanması.
    • Dopinger projesinde GCS kullanılarak Media modülünün sıfırdan yazılması.
      • Bir resim yüklendiğinde o resme ait thumbnails 'in oluşturulması. Proje içeriğinde kullanılan resimlerin silinmesi durumunda kullanılan yerlerin tespitinin yapılması ve kullanıcıya bilgi verilmesi.
      • Restrict kullanıldığı için resmin kullanılan yerlerden silmeden, resmin silinmesini engellenmesi sağlanmaktadır ve böylelikle kırık resim linklerinin oluşumunun önüne geçilmektedir.
      • Tüm bu işlemler job da yapılmış olup queue sistemine tabi edilir. Hata oluşumunda ilgili klasör veya dosyada bir işlem kimse yapamaz böylelikle dosya veya veritabanı karmaşıklığının oluşumunu engellenmiş olunur.
      • Cloud Storage sistemlerinde klasörler sanal klasörlerdir. GCS de sanallaştırılmış bir klasör mantığının olduğunu unutmamak gerekir. Bu yüzden klasör rename, copy veya move gibi işlemlerde klasörü kopyala veya taşı gibi kodlar işe yaramamaktadır bu yüzden buna göre içerisindeki dosyaları taşıma veya kopyalama gibi ilerlemeniz gerekiyor.
      • Tek bucket da birden fazla projenin dosyalarını barındıracak şekilde ayrımları yapılmaktadır. Proje klasörü içerisinde originals(orijinal resimler) ve thumbnails(tema ya göre küçültülmüş resimler) klasörleri altında ayrı ayrı olarak tutulmaktadır böylelikle karışıklık önlenmiş olmaktadır.
      • Media Sync Cronjob ın yazılması: Bu cronjob amacı CDN ile Database'i ve Database ile CDN 'ni karşılaştırmaktır. Böylelikle senkronizasyon sağlanmış olur.
      • Başlıca özelliklikleri: Upload, Rename, Move, Cut, Delete ve Create Folder API larını çoklu işlemleri destekleyecek şekilde yazılmıştır)
    • Dopinger projesinde yaptığım revizasyonlar
      • GCS de tutulan dosyalama mantığının ortak nokta ve düzenli şekle getirilerek işlevli hale getirilmesi ve bu ortak noktanın projeyle bağlantılı olan kodlarınında ortak noktaya getirilmesi.
      • Language yapısının tek noktaya alınması ve veri yapısının standartlar hale getirilmesi.
      • CORS yapılandırmalarının sağlanması.
      • Proje içerisinde kullanılmayan ve geçmişte kalan şeylerin kaldırılması ve proje dizinlerinin diğer proje ile ortak hale getirilmesi.
      • Repository Design Pattern için gerekli olan stubs'ın eklenmesi ve bu stubs ın modüllere göre de eklemelerin yapılmasının sağlanması.
      • Localization json kullanımından array olarak geçişi ve kullanım yapısının kurgulanması.

    • Mevcut SM projelerinin sıfırdan yeni laravel projesine geçilerek refactoring yapılması.
      • Mevcut veritabanlarına göre Permissions sisteminin yazılması. Paket kullanılmamaktadır. Permissions sistemi çok detaylı bir şekilde yazılmıştır ve Middleware kadar her şeyi sıfırdan yazılmıştır. Çünkü RDP ile birleşik bir yapısıda vardır. Örnek vermek gerekirse bir select sorgusunda kullanıcının yetkili olduğu sütunlara göre veriler gelmektedir. Bir kayıt yapıldığında kullanıcın yetkili olduğu sütunlara kayıt yapabilmektedir gibi çok fazla spesifik durumlarda mevcuttur.
      • Repository Design Pattern için stubs ın yapılması.
      • Language dil ortak noktadan kontrol edecek hale getirilmesi.
      • Frontend tarafına ortak veri modeline göre dönüşleri sağlayacak yapının yapılması.
      • Datatables da yetkilere göre dönüşleri sağlanması için dinamik yapıların yapılması.
      • Handler'da tüm hataların yönetiminin sağlanması.
      • Eski projedeki özellikleri yeni projeye göre refactoring yaparak aktarılması.



    CUZDAN Elektronik Para ve Ödeme Hizmetleri A.Ş
    04.2021 - 05.2022 (2 Ay)
    PHP Developer

    İş tanımı: Mevcut finans projelerinin geliştirilmesi.

    Detay: SOA / Microservices tabanlı projenin mevcuttaki özelliklerin iyileştirilmerinin yapılması ve yeni özelliklerin geliştirilmesi.
    Firma çok iyi insanlarıda çok iyi ancak ilerlemek istediğim sektör olmadığını fark ettim ve kişi sayısı olarakda azdık ve kendime gelişim olarak çok az şeyler katabiliyordum bu yüzden erkenden ayrılmaya karar verdim değerli insanlardır.
    • Evrak yükleme, sınıflandırması ve yönetimini yapan özelliğin geliştirilmesi.
    • Mevcut özelliklerin düzeltmelerin yapılması.



    IDEASOFT
    08.2022 - .
    Full Stack Developer

    Yorumlar

    BUNLARADA BAKMAK İSTERMİSİN ?

    PC Uzaktan Kontrol Wifi PRO Android (Kotlin) & C# WPF

    Kelime Ezberleme Uygulaması ANDROID&REALM

    Angular API ve LocalStorage Güvenliği