Üretim yazılımı · İş zekâsı · Web

İşinizi yavaşlatan yazılımı ölçer, düzeltir ve büyümeye hazır hale getiririm.

Stok, üretim ve müşteri süreçlerini Excel'den çıkarıp ölçülebilir bir sisteme taşıyorum. Elinizde çalışan bir yazılım varsa da yavaşlığın nereden geldiğini bulup gideriyorum. Analizden teslimata kadar tek sorumlu benim.

İlk görüşme 20–30 dakika ve ücretsiz.

  • 8+ yıl yazılım geliştirme
  • Uçtan uca analizden teslimata proje sahipliği
  • MSSQL performans ve sorgu optimizasyonu
Murat Çalışkan portre fotoğrafı
ARPAŞ Hâlen yazılım geliştirici olarak görevde

Ne yapıyorum

Hangi işler için aranıyorum

Beş ana başlıkta çalışıyorum. Hepsinin ortak noktası şu: iş kuralları değiştiğinde yazılımın da değişebilir kalması.

Tüm hizmetler ve kapsamları

Üretim ve Otomasyon Yazılımı

Sahadaki işi kâğıttan ve Excel'den alıp, ölçülebilir bir sisteme taşıyan masaüstü ve web uygulamaları.

Kapsamı gör

İş Zekâsı ve Raporlama

Verisi olan ama karar veremeyen işletmeler için: doğru soruyu soran, hızlı çalışan raporlar.

Kapsamı gör

Mevcut Yazılımı İyileştirme

Çalışan ama yavaşlayan, her değişiklikte başka bir yeri bozulan yazılımların teşhisi ve tedavisi.

Kapsamı gör

Kurumsal Web Sitesi ve SEO

Hızlı açılan, aranınca bulunan, mobilde de aynı kalitede duran kurumsal siteler.

Kapsamı gör

Küçük Yazılım Paketleri

Tek bir işi çözen, hızlı teslim edilen küçük araçlar. Her ihtiyaç büyük proje olmak zorunda değil.

Kapsamı gör

Nasıl çalışıyorum

Dört ilke, dört somut sonuç

Bunlar slogan değil, teslim ettiğim her projede karşılığı olan çalışma kurallarıdır. Her birinin arkasında bir yazılım mühendisliği ilkesi var.

Analitik

Ölçmediğim şeyi iyileştirmem.

Sorun

Veritabanı sorguları loglanmadığında, yavaşlamanın hangi kod bloğundan veya hangi kullanıcı hareketinden geldiği anlaşılamaz. Kod bir işi yaparken, o işi izleyen parça hiç yazılmamıştır.

Yaklaşımım

Kritik operasyonlar baştan ölçülebilir yazılır. Böylece “sistem yavaşladı” gibi bir şikâyet yerine, “14:00 raporu 4 saniye sürdü” gibi somut bir bulguyla çalışırız. Somut bulgunun çözümü de somut olur.

High Cohesion

Realist

Mevcut sisteminiz engel değil, başlangıç noktasıdır.

Sorun

Kâğıt üzerinde mükemmel olan tasarım, şirketteki eski sisteme bağlanacağı anda karmaşık ve kırılgan bir koda dönüşür. Yeni sistem, eskisine sıkı sıkıya bağımlı hale gelir.

Yaklaşımım

Dış sistemler bir arayüzün arkasına alınır; yeni yazılım eski sistemin nasıl çalıştığını bilmek zorunda kalmaz. Sonuç: teorideki en iyi çözüm değil, sizin bütçenizde ve donanımınızda gerçekten çalışan çözüm.

Dependency Inversion — DIP

Parametrik

İş kuralı değişince kod değişmemeli.

Sorun

“Yurt dışı müşteriler için farklı vergi oranı” gibi yeni bir kural geldiğinde, çalışan hesaplama sınıfını açıp değiştirmek gerekir. Her değişiklik, çalışan bir yeri bozma riskidir.

Yaklaşımım

Kural koddan çıkarılıp ayar katmanına taşınır. Yeni kural geldiğinde mevcut kod bloğuna dokunulmaz, yeni bir davranış eklenir. İşletme kuralı anında günceller; ana kodun güvenilirliği bozulmaz.

Open/Closed — OCP

Hızlı

Hata teşhisi saatler değil, dakikalar sürmeli.

Sorun

Tek bir sınıf hem veriyi çeker, hem işler, hem formatlar. Bir hata çıktığında yüzlerce satırın tamamı taranmak zorundadır; teşhis süresi çözümden uzun sürer.

Yaklaşımım

Her parça tek bir işi yapar. Hata çıktığında kaynak tek bir göreve iner ve çözüm, sistemin geri kalanına dokunmadan devreye alınır. Bu da kesintisiz çalışma demektir.

Single Responsibility — SRP

Farkın çıktığı yer

Asıl soru: bu yazılım altı ay sonra hâlâ değiştirilebilir mi?

Çoğu yazılım ilk teslimde mükemmel görünür. Sorun, ilk değişiklik talebinde başlar. Aşağıdaki iki senaryo arasındaki fark, aynı işi yapan iki yazılımı yıllar içinde tamamen ayırır.

Sabit yazılmış yazılım
  • Vergi oranı, uyarı eşiği, kontrol periyodu gibi kurallar kodun içine gömülüdür.
  • Küçük bir kural değişikliği, çalışan sınıfın açılıp değiştirilmesini gerektirir.
  • Her değişiklik, ilgisiz bir yeri bozma riski taşır ve yeniden test gerektirir.
  • İki farklı müşteri için iki ayrı kod kopyası oluşur; düzeltmeler ikisinde de tekrarlanır.
  • Zamanla değişiklik maliyeti, yazılımın kendi maliyetini geçer.

Parametrik yazılan yazılım

  • Kurallar koddan çıkarılıp ayar katmanında tutulur; işletme kendi günceller.
  • Yeni bir kural, mevcut kod bloğuna dokunmadan yeni bir davranış olarak eklenir.
  • Modüller açılıp kapanabilir; kullanılmayan özellik sistemi yavaşlatmaz.
  • Tek kod tabanı farklı müşterilere farklı yapılandırmayla hizmet eder.
  • Altı ay sonraki değişiklik, ilk günkü kadar hızlı ve güvenlidir.

Bu neden sizin sorununuz?

Çünkü faturayı siz ödüyorsunuz. Sabit yazılmış bir yazılımda “şu alanı da ekleyelim” demek haftalar sürer ve her seferinde yeni hatalar çıkarır. Parametrik yapıda aynı talep, çoğu zaman bir ayar ekranından hallolur. Ben ikinci yolu seçiyorum; ilk teslim biraz daha uzun sürer, sonraki iki yıl çok daha ucuz olur.

Seçili çalışmalar

Gerçek işletmelerde çalışan sistemler

Tüm projeler

Üretim / Depo · Masaüstü uygulama · SQL Server

Stok Takip Sistemi

Envanterin anlık durumunu, geçmiş hareketlerini ve gelecek ihtiyacını tek merkezde toplayan stok yönetim sistemi.

Hizmet sektörü · Web uygulaması · SQL Server

Müşteri Takip ve Rutin Kontrol Sistemi

Müşteri geçmişini, yapılan işlemleri ve rutin kontrol takvimini izleyen; geri gelmeyen müşteriyi görünür kılan sistem.

Eğitim · Web uygulaması · SQL Server

Anaokulu Veli Bilgilendirme Sistemi

Anaokulu ile veli arasında günlük beslenme, gelişim ve etkinlik bilgisini şeffaf biçimde akıtan bilgilendirme platformu.

Teknoloji

Çalıştığım araçlar

Araç seçimini modaya göre değil, işin ve ekibin gerçek koşullarına göre yapıyorum. Aşağıdakiler üretim ortamında fiilen kullandıklarım.

Backend

  • .NET Framework
  • .NET Core
  • C#
  • RESTful API
  • ADO.NET
  • Windows Form
  • DevExpress

Veri

  • Microsoft SQL Server
  • T-SQL
  • Veri modelleme
  • Sorgu optimizasyonu
  • İndeks tasarımı
  • Oracle SQL

Frontend

  • HTML5
  • CSS3
  • JavaScript (ES6+)
  • React
  • Responsive tasarım
  • Erişilebilirlik
  • SEO

Dağıtım ve süreç

  • CI/CD
  • ClickOnce
  • Git
  • Azure DevOps
  • GitHub
  • Kod gözden geçirme
  • Teknik dokümantasyon

Süreç

Başlangıçtan teslime dört adım

Ne zaman ne olacağını baştan biliyorsunuz. Sonu görünmeyen projeler ikimizin de aleyhine.

  1. Görüşme

    20–30 dakika · ücretsiz

    İşin nasıl yürüdüğünü, nerede tıkandığını ve neyi ölçmek istediğinizi konuşuyoruz. Bu görüşmenin sonunda yazılıma gerek olup olmadığını da açıkça söylüyorum.

  2. Analiz ve teklif

    3–7 gün

    Süreci yerinde ya da uzaktan çıkarıyorum; ekran akışını, veri modelini ve modül listesini hazırlıyorum. Kapsam ve fiyat yazılı olarak, kalem kalem paylaşılıyor.

  3. Geliştirme

    ara teslimlerle

    Modül modül ilerliyoruz. Her ara teslimde çalışan bir sürümü görüyorsunuz; geri bildirim sona bırakılmıyor, sürecin içine yayılıyor.

  4. Teslim ve destek

    destek dönemi dahil

    Kurulum, kullanıcı eğitimi ve dokümantasyon. Kaynak kod size teslim ediliyor. Destek döneminde çıkan hatalar ücretsiz gideriliyor.

Projenizi 20 dakikalık bir görüşmeyle netleştirelim.

Ne yapmak istediğinizi anlatın; yazılıma gerek olup olmadığını, gerekiyorsa hangi kapsamda olması gerektiğini açıkça söyleyeyim. İlk görüşme ücretsiz.

Tüm görüşmeler gizlilik prensibiyle ele alınır.

WhatsApp Ara