00 · Index

Backend systems, shipped cleanly.

I’m Kazi Md. Tawsif Rahman, a backend software engineer building Spring Boot APIs, microservices, DDD, CQRS, workflow automation, and data-heavy systems. My recent work has been in CRM and ticketing platforms, where I’ve handled ownership rules, Kanban flows, SLA tracking, and the parts of the stack that make a product usable at scale.

This page keeps the noise out. Read the section that matters, skip the rest, and reach out if you need a backend that stays understandable after the first release.

168CRM REST endpoints
96Ticketing REST endpoints
30CRM controllers
1500+Codeforces rating

01 · Now

Current role.

Software Engineer — BRAC IT Services Ltd. · Dhaka, Bangladesh

Dec 2024 — Present

I work on backend systems for internal CRM and ticketing products. The job is a mix of API design, workflow rules, database modeling, and making sure the routing logic doesn’t become a maintenance problem the moment the product grows.

02 · Systems

What I built.

Two backend surfaces, built like products: one for revenue operations, one for support operations.

2Core systems
264REST endpoints
51Controllers
1Modulith codebase

CRM platform — sales engine and routing core

  • 168 REST endpoints across 30 controllers for accounts, leads, opportunities, quotes, campaigns, territories, and pipeline boards.
  • Built the Kanban layer as a rule-driven workflow: fixed-length rank keys, state validation, idempotent moves, audit trails, and board metadata sync.
  • Used territory and assignment rules to route work with business logic instead of hard-coded branching, including schedule-day checks and duplicate assignee validation.
  • Kept the module boundaries clean with service interfaces, implementation classes, repositories, specifications, and MapStruct-backed DTO layers.

Ticketing system — support operations and SLA control

  • 96 REST endpoints across 21 controllers for ticket intake, comments, forwarding, notifications, teams, and metadata management.
  • Designed the workflow around triage and redistribution: least-loaded team routing, absence-reliever handling, workload updates, and ticket handoff flows.
  • Added operational depth with SLA/KPI tracking, flags, additional fields, activity logs, and cached workload/read models where speed mattered.
  • Split the logic into focused services for assignment, forwarding, feedback, workload, and metadata so the system stays readable as it grows.

Architecture notes

  • Spring Modulith, Spring Security, RabbitMQ, Redis, Quartz, PostgreSQL, and Flyway keep the platform modular but still deployable as one coherent backend.
  • The design leans on DDD boundaries where they help: service orchestration, rule evaluators, domain-specific repositories, and reusable helper services.
  • I deliberately optimized for maintainability: the code reads like a system with policies, not a pile of controllers.

03 · Projects

NotifyFlow — Notification Latency Simulator.

Event-driven notification simulator for broadcast delivery, per-user fan-out, and live latency tracking.

5Backend modules
4REST endpoints
2Persistence tables
1Async fan-out flow

System design

  • Hexagonal backend shape: request comes in through the API layer, orchestration stays in the application layer, and adapters handle persistence, RabbitMQ, and realtime push.
  • Broadcast flow: save notification → publish event → consume asynchronously → persist each delivery → push live updates to the client.
  • PostgreSQL stores the notification record and each delivery row so the system can report status, read state, and latency.

Object-oriented design

  • Domain models are immutable Java records: Notification, NotificationDelivery, and NotificationEvent.
  • The application service implements use-case interfaces for sending, consuming, querying, and updating read state.
  • Dependency inversion keeps infrastructure details outside the core logic, so the business rules stay easy to test and extend.
  • Fan-out is handled with CompletableFuture and an executor so per-user delivery work runs concurrently.

04 · Stack

Tools and technologies.

Languages Java, SQL, C, C++
Backend frameworks Spring Boot, Spring Security, Spring Data JPA, Hibernate, Bean Validation, Spring Modulith
API design REST APIs, OpenAPI/Swagger, MapStruct, DTO design, request validation, error handling
Databases PostgreSQL, Flyway migrations, Redis, JSONB, indexing, repository queries
Messaging and jobs RabbitMQ, asynchronous processing, retry handling, Quartz scheduling
Architecture Microservices, Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS)
Testing and delivery JUnit 5, Mockito, API testing, Gradle, Docker, Git, Linux

05 · Proof

Credentials and output.

Achievements

  • Codeforces Specialist, 1500+ rating.
  • Finalist, CUET IUPC 2024.
  • Finalist, CUET IUPC 2023.
  • Finalist, CUET Tech Carnival 2020.

Education

B.Sc. in Computer Science and Engineering

Chittagong University of Engineering and Technology (CUET) · Bangladesh

CGPA: 3.59 / 4.00 · Completed Sep 2024

Publication

An Automated System for Detecting Property Insurance Fraud Using Machine Learning

International Journal of Mathematical Sciences and Computing (IJMSC)

Kazi Md. Tawsif Rahman, Chowdhury Mahfuzul Hoq · Published Sep 2024 · DOI 10.5815/ijmsc.2024.03.02

06 · Reach

The places to find me.