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.
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.
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.
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, andNotificationEvent. - 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
CompletableFutureand 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