Senior Software Engineer · Dhaka, Bangladesh

Designing resilient
distributed
systems.

Hi, I’m Rahiyan Safin. I build scalable, event-driven backend platforms with Java, Spring Boot, and C#/.NET. I help teams turn complex enterprise constraints into dependable software.

Resilient distributed systemRequests pass through a router to three service instances. One instance is isolated after failure while two continue serving. A durable event log provides a replay path for recovery.INCOMING WORKREQUESTSAPI / EVENTSTRAFFICROUTERREDUNDANT SERVICE INSTANCESINSTANCE ASERVINGINSTANCE BISOLATEDINSTANCE CSERVINGRECOVERY SOURCEDURABLE LOGREPLICATEDREPLAY TO RECOVER

Fig. 01 A system is only as good as its recovery path.

Java & Spring Boot.NET & C#Distributed systemsEvent-driven architectureCloud engineeringDatabase internals
Latest articles

Notes from the workbench.

Browse everything
Portfolio intelligence

Skip the scrolling.
Ask a precise question.

Search my articles, background, skills, and contribution history in plain English. Every result takes you back to something you can read and verify.

EXAMPLE QUESTION How did you move consumers without losing offsets?
RS✦
FROM THE ARTICLETreat the target offsets as a new coordinate system.

Start each Event Hubs consumer group at an approved position, reconcile with stable event IDs and business sequence numbers, and keep Kafka available until the rollback window closes.

Read the article
Selected impact

Problems that
needed deciding.

Private sessions run for product teams. The companies are under NDA, so each entry gives the problem and the decision rather than the client. Full write-ups are in workshops.

01

Event-driven reliability

A team could publish but could not reason about what happened after a consumer crashed mid-batch. Rebuilt the failure story around idempotency keys, a poison-message path, and a replay operators had actually rehearsed.

KafkaIdempotencyReplay
02

Platform migration

Four brokers, no capacity plan, and a broker upgrade that ate a weekend. Worked through what changes when the platform runs the cluster: compatibility gaps, partition mapping, dual running, cutover, and the rollback nobody had tested.

KafkaAzure Event HubsMigration
03

Change data capture

Two systems that had to agree, maintained by hand, forever. Replaced the nightly job with logical replication into a stream, then spent most of the session on the hard part: schema evolution and what a consumer does when it receives a shape it has never seen.

CDCDebeziumSchema evolution
04

Runtime performance

Built for a team whose services passed load tests and still timed out in production. Read a state machine out loud, traced a continuation onto a thread pool, and found where a request was blocking something that looked asynchronous.

C#AsyncThreading
05

Payments security

A third-party callback was the only part of the flow nobody owned. Drew the trust boundaries, moved the secret handling, made the audit trail answerable, and scoped what genuinely had to live inside the cardholder data environment.

SecurityPaymentsAudit
Selected contributions

Organizations I have built for.

Explore the full organization network
38organizations across product delivery and private engagements
  • SSW Consulting
  • SVT Robotics
  • Shine Solutions
  • Neolution
  • JTL Software
  • NovoTX
  • Eximia
  • SOFTURE

Client work is described at a safe level. No private repositories, confidential metrics, or NDA material are published here.

Rahiyan Safin
A little context

I design for scale, failure, and change.

Dependable enterprise systems feel predictable because their boundaries, failure modes, observability, and recovery paths were designed deliberately.

I am a senior software engineer based in Dhaka with 8+ years of experience across enterprise SaaS, manufacturing, fintech, and healthcare. My core work spans Java/Spring Boot, C#/.NET, event-driven architecture, and cloud platforms.

More about me