Bilgisayar mühendisi · Backend ve dağıtık sistemler
Arif Emre AbduşoğluGerçek yük altında dağılmayansistemler kuruyorum.
İşimin çoğu yazılımın kimsenin görmediği tarafında geçiyor: transaction sınırları, teslim garantileri ve bir servisin bitip diğerinin başladığı dikişler. Aşağıdaki vaka çalışması, böyle bir sistemin ölçülmüş ve dürüst anlatımı.
- Konum
- Türkiye
- Odak
- Java · Spring · Kafka · Next.js
- Durum
- Yeni fırsatlara açık
- 13servis
- 70.869satır backend
- 55.022satır frontend
- 1.524otomatik test
Profil
Fiilen ne yapıyorum
Uçtan uca çalışan bir bilgisayar mühendisiyim: önce domain modeli ve backend mimarisi, sonra bunu basit hissettirmesi gereken arayüz. En çok, sistemin kötü bir günü atlatıp atlatamayacağını belirleyen kısımlar ilgimi çekiyor: bir mesaj iki kez teslim edildiğinde, bir bağımlılık düştüğünde, iki yazıcı yarıştığında ne olacağı.
Son aylarda çalışan bir modüler monoliti kırmadan on üç bağımsız servise dönüştürdüm: fiziksel database-per-service, transactional outbox, idempotent consumer’lar ve servisler arası her okumanın event log’undan beslenen yerel bir projeksiyonla değiştirilmesi. Dondurulmuş monolit bu süre boyunca byte-for-byte el değmeden kaldı; hem referans hem geri dönüş yolu olarak.
Gerekçeyi kodun yanına yazıyorum. O platformdaki her mimari kural, insanların hatırlaması istenen bir gelenekle değil, ihlal edildiğinde build’i düşüren bir şeyle zorlanıyor; async API’yi anlatan dokümanın kendisi de bir test.
- Rol
- Bilgisayar mühendisi · full-stack, backend ağırlıklı
- Birincil stack
- Java 21 · Spring Boot · PostgreSQL · Kafka
- Ayrıca
- TypeScript · Next.js · Python · Go
- İlgi alanları
- Dağıtık tutarlılık · geliştirici araçları · uygulamalı LLM
- Diller
- Türkçe · İngilizce
Amiral proje
App in Handy
Değerin app’te değil, eşleşmede yaşadığı bir güven platformu.
Bir uygulama soyut olarak iyi olamaz; belirli bir kişinin belirli bir problemini çözmekte iyidir. App in Handy bu fikrin üzerine kurulu: değer birimi, bir problemle bir app arasındaki Match’tir ve skoru taşıyan da odur.
Ürün fikrinin kendisi, sistemi inşa etmeyi ilginç kılan şey. Skorlar, talep sinyalleri, moderasyon, arama ve bir yapay zekâ asistanı aynı içeriği farklı açılardan okuyor: yani tam olarak, paylaşılan tek bir veritabanının sessizce herkesin dokunmaktan korktuğu şeye dönüştüğü durum. Bu yüzden tek bir veritabanı yok: her biri kendi verisinin sahibi olan ve bir event log üzerinden koordine olan on üç servis var.
13
servis
26
event topic
1.524
backend testi
106
şema migration’ı
Üç depo, üç yaşam döngüsü
- platform13 servis, bir edge gateway ve 9 paylaşılan kütüphaneJava 21 · Spring Boot 3.5 · PostgreSQL · Kafka
- web-uiÜrün arayüzü: sunucuda render edilen, dört dilliNext.js 16 · React 19 · RSC-first · 4 katmanlı veri katmanı
- landingKendi başına yayınlanan tanıtım yüzeyiNext.js 16 · OpenNext → Cloudflare Workers
Diğer yan projeler
Bundan önce inşa ettiklerim
Daha küçük, çoğu LLM ekseninde ve her biri yukarıdaki platforma taşınan bir şey öğretti. Özet için birini açın; tam hikâye kendi sayfasında.
AI Destekli İçerik ÜreticiYayındaHer sayfayı ham malzemeye çeviren bir Chrome eklentisi.
Bulunduğunuz sayfayı okuyup ondan özgün içerik üreten bir tarayıcı eklentisi: ürün metni, blog taslağı, sosyal medya gönderisi. Onu basit bir sarmalayıcıdan ayıran iki şey var: sunucu tarafı istek engellendiğinde istemci tarafı çıkarıma geçen çift modlu bir scraper ve farklı AI mimarilerini ikinci bir modeli tarafsız hakem olarak kullanarak karşılaştıran bir değerlendirme platformu.
- Python
- Flask
- RAG
- PostgreSQL
- Vanilla JS
- Chrome Extension
LLM Tabanlı Teklif Yönetim SistemiTamamlandıYeni teklifler yazmak için eskileri okumak.
Bir profesyonel staj döneminde geliştirildi. Sistem şirketin mevcut teklif dokümanlarını alıyor, içlerinde saklı olan yapıyı çıkarıyor ve bunu yeniden kullanılabilir bir şablona dönüştürüyor, ardından yeni teklifleri o şablonun içine RAG ile yazıyor, böylece çıktı bir dil modeli gibi değil şirketin kendisi gibi konuşuyor.
- Python
- Flask
- Next.js
- React Query
- PostgreSQL
- Alembic
- RAG
- JWT
LLM Remote AssistantGeliştiriliyorDoğal dil girer, sandbox’lanmış Python çıkar.
Bir dil modeline gerçek eller vermeyi deneyen bir çalışma. Sabit bir komut kataloğu yerine model, eldeki istek için Python yazıyor ve üç katmanlı bir güvenlik mimarisi o kodun çalışmasına izin verilip verilmeyeceğine karar veriyor. Komuta yüzeyi bir mobil istemci; işi yapan ise makinedeki hafif bir ajan.
- Python
- Flutter
- Go
- Rust
- WebSocket
- Sandboxing
- LLM
Site-ChatGeliştiriliyorHer URL için bir sohbet katmanı.
Odaları web adreslerine bağlayan gerçek zamanlı bir sohbet platformu. Bireyler için herhangi bir sayfayı (bir makaleyi, bir ürünü, bir videoyu) onu okumakta olan diğer insanlarla tartışabileceğiniz bir yer. İşletmeler için aynı sohbeti kendi sitelerine taşıyan gömülebilir bir widget.
- Go
- Next.js
- TypeScript
- WebSocket
- PostgreSQL
- JWT
Teknolojiler
Neyle çalışıyorum
Buradaki her şey yukarıdaki depolardan birinde sahiden yayınlanmış kodda kullanılıyor; bu bir envanter, dilek listesi değil.
Diller
- Java 21
- TypeScript
- Python
- Go
- Rust
- SQL
Backend ve veri
- Spring Boot 3.5
- Spring Cloud Gateway
- Hibernate / JPA
- Flyway
- Maven
- Kafka / Redpanda
- PostgreSQL
- Redis
- Resilience4j
- MapStruct
Frontend
- Next.js 16
- React 19
- React Compiler
- Tailwind v4
- Zod
- TanStack Query
- Zustand
- Radix UI
Uygulamalı AI
- RAG
- pgvector
- BGE-M3 embeddings
- Structured outputs
- LLM-as-a-Judge
- Anthropic
- Groq
Platform ve araçlar
- Docker
- Docker Compose
- Testcontainers
- Toxiproxy
- OpenTelemetry
- Prometheus
- Grafana
- GitHub Actions
- Cloudflare Workers
İletişim
Buradaki herhangi bir şey işinize yaradıysa, duymak isterim.
Backend, platform ve full-stack rollerine açığım; henüz bir iş ilanına bağlı olmayan sohbetlere de.