Barış Nişancı
Özgeçmiş
barisnisanci@outlook.com
github.com/BarisNisanci7
www.barisnisanci.com
Uzun hâli. Sadece otuz saniyeniz varsa özeti okuyun; sonrası detay.
Kısaca
Bilgisayar mühendisi ve veri yönetimi mühendisiyim. Çalışmalarım, birbirinden uzak görünen üç alanın kesiştiği yerde duruyor: donanımın düşük seviyeli mantığı, verinin işlenme düzeni ve modern web mimarileri. Bir mikrodenetleyici için firmware yazarken de, bir TypeScript monorepo'sunun tip güvenliğini kurarken de aynı şeyin peşindeyim: parçaların sınırları net olsun, biri değiştiğinde diğerleri yıkılmasın. Teknik derinliği kendi başına bir amaç olarak değil, sonunda birinin gerçekten kullanacağı bir şey çıksın diye kullanıyorum.
Odak alanları
Üç damar üzerinde çalışıyorum; her biri diğerini besliyor.
Donanım–yazılım köprüsü
Çekirdek (kernel) geliştirme ile yapay zekâ mühendisliği arasındaki mesafeyi kapatmak. STM32 mikrodenetleyiciler için firmware yazmak ve endüstriyel sınıf sistemleri yapılandırmak.
Veri ve sistem mimarisi
Veri yapılarını optimize etmek, profesyonel veri hatlarını yönetmek ve arka ucun sonradan değiştirilebilmesine izin veren temiz mimari sınırlar tasarlamak.
Tip güvenli ekosistemler
Modern TypeScript monorepo'larından React Native ile native ortamlara kadar, sağlam ve performansı önceleyen uygulamalar kurmak.
Yetkinlikler
Araçlar değişir, yaklaşım kalır. Aşağıdakiler fiilen çalıştığım alanlar.
Gömülü sistemler ve donanım
- · STM32 mikrodenetleyiciler
- · Firmware geliştirme
- · Endüstriyel AC servo motor sistemleri
- · Özel sensör entegrasyonu
- · Direct-drive kontrol sistemleri
- · Endüstriyel sınıf sistem konfigürasyonu
Veri ve sistem mimarisi
- · Veri yapısı optimizasyonu
- · Profesyonel veri hatları (pipeline)
- · Değiştirilebilir arka uç tasarımı
- · Katmanlı mimari (arayüz / çekirdek / çalışma ortamı)
- · Arayüz sözleşmeleriyle ayrıştırılmış sistem sınırları
Uygulama geliştirme
- · TypeScript (strict)
- · Monorepo mimarisi
- · Modern web uygulamaları
- · React Native
- · Performans öncelikli geliştirme
- · Web Worker tabanlı çalışma zamanları
Kesişim alanları
- · Çekirdek (kernel) seviyesi geliştirme
- · Yapay zekâ mühendisliği
- · Elle yürüyen mühendislik süreçlerinin otomasyonu
Seçilmiş çalışmalar
Dört iş, üç alanın pratikte nasıl birleştiğini gösteriyor: donanım, otomasyon, ürün ve mimari.
The Browser Shell
Bu site bir portfolyo şablonu değil, üç katmana ayrılmış bir terminal mimarisinin üzerine kurulu. Arayüz, komutları çalıştıran çekirdek ve çalışma ortamı (Web Worker) birbirinden tamamen bağımsız; çekirdek bir ekranın var olduğunu bile bilmiyor. Bu ayrım sayesinde alttaki çalışma ortamı baştan değişse bile ne komutlar ne de arayüz yeniden yazılmak zorunda kalıyor. Yeni bir komut eklemek tam olarak bir dosya yazmak demek.
TypeScript · Katmanlı mimari · Web Worker · Monorepo
Endüstriyel Sim-Racing Donanımı
Endüstriyel AC servo motorlar, STM32 mikrodenetleyiciler ve özel sensör entegrasyonuyla baştan sona inşa edilen üst seviye bir direksiyon sistemi. Direct-drive, motorun araya dişli girmeden doğrudan direksiyona bağlanması demek; yani yoldaki her tümsek elinize filtresiz geliyor. Hazır bir ürünü kurmak değil; mekanik, güç aktarımı ve gömülü yazılımın aynı anda ve birbiriyle uyumlu çalışmasını gerektiren bir tasarım işi.
STM32 · Gömülü yazılım · AC servo motor · Sensör entegrasyonu
Anlık Teklif Otomasyon Motoru
Üretim için geliştirilen ve canlıya alınan, uçtan uca çalışan özel bir web uygulaması. Teknik mühendislik çizimleri üzerinden fiyatlandırmayı anında hesaplıyor; yani normalde tek tek elden geçirilmesi gereken teklif sürecini otomatik hâle getiriyor. Burada zor olan kısım arayüz değil, mühendislik verisini makinenin doğru okuyabileceği bir mantığa çevirmekti.
Web uygulaması · Otomasyon · Mühendislik çizimleri · Fiyatlandırma mantığı
Mondus
Ağırlık antrenmanında kademeli yüklenmeyi (progressive overload) takip etmek için geliştirilmiş, native ve performans odaklı bir uygulama. Fikir basit: her seansta biraz daha fazla ağırlık ya da birkaç tekrar daha eklersiniz ve birinin bunu takip etmesi gerekir. Öncelik hız: setler arasında kayıt girerken ekranın açılmasını beklemek zorunda kalmamalısınız. Tarayıcıya sarılmak yerine native tarafta kalmak bilinçli bir tercih; fark elde hissediliyor.
React Native · Native performans · Mobil · Ürün tasarımı
Nasıl çalışıyorum
İşe genelde sınırları çizerek başlıyorum: hangi parça neyi bilmek zorunda, neyi bilmemeli. Doğru çizilmiş bir sınır, sonradan yapılacak değişikliği "yeniden yazma" olmaktan çıkarıp "parça takma"ya dönüştürüyor. Bu yüzden hızlı ama tek kullanımlık çözümler yerine, üzerine bir şey daha koyulabilen çözümleri tercih ediyorum.
Ulaşmak için
En hızlısı e-posta. Gelen her mesajı okuyorum.
Aynı metni terminalde de okuyabilirsiniz: `cat resume.md`