About

About

Hi, I’m Washiul Alam Shohan (often known as Washiul Alam Sohan), a software engineer and computer science undergraduate with extensive hands-on experience building real-world systems across web, mobile, backend, and embedded platforms. I focus on turning ideas into production-grade software that scales, ships, and generates value.

What I Do

I work primarily on backend and systems-level engineering, designing and implementing software that runs reliably under real-world constraints. My experience spans production APIs, real-time systems, databases, infrastructure, and low-level components. Core areas include:

  • Backend Engineering: Go, Java (Spring Boot), APIs (REST, RPC), auth, background jobs, rate limiting, caching, schema design, transactions, performance tuning
  • Advanced Backend & Systems Concepts: Distributed systems basics, consistency models, CAP trade-offs, idempotency, fault tolerance, queues, pub/sub, event-driven architectures
  • Databases & Data Systems: PostgreSQL, SQL modeling, indexing, query optimization, migrations, isolation levels, data integrity
  • Infrastructure & DevOps: Docker, Linux, Nginx, load balancing, AWS, deployments, monitoring, logging
  • Real-Time & Networking: Low-latency systems, voice/text chat, WebRTC infrastructure, server performance constraints
  • Embedded & Low-Level: ESP32, Arduino framework, FreeRTOS, concurrency on constrained devices, hardware–software integration

I’ve built and shipped systems used by real users, worked on monetized products, and taken responsibility for technical decisions as a co-founder and technical lead.

Why This Blog Exists

This site exists to document backend and systems engineering as it actually happens: imperfect requirements, limited resources, and systems that must stay up. Backend engineering evolves continuously, new architectures emerge, scaling limits get exposed, and abstractions leak. Writing is how understanding is preserved and sharpened.

Here, you’ll find:

  • Backend-focused engineering write-ups
  • Deep dives into system design and trade-offs
  • Practical discussions on scalability, reliability, and performance
  • Lessons from building, breaking, and fixing production systems
  • Notes on distributed systems, data flow, and infrastructure design

My Approach

I prioritize correctness, clarity, and durability. I focus on how systems behave under load, failure, and change. I value fundamentals over trends and prefer understanding mechanisms rather than memorizing tools.

This blog reflects that mindset: technical, direct, and grounded in real engineering problems.