Najmul Hasan Sabbir

Software Engineer · SDET

I build backend services in Python and TypeScript — and the automation that proves they work.

SQA Engineer at Doin · fintech · Dhaka · 6 mos

Now

Building internal services at Doin. Deep in Django, Celery and Docker.

Updated August 2026

Selected work

  • Full-stack · Doin · 2026

    MethodHub

    An internal Next.js app the whole company files monthly submissions through, and HR reports on.

    • Next.js
    • TypeScript
    • PostgreSQL
    • Tailwind
  • Infrastructure · Doin · 2026

    Test Automation Framework

    A Selenium framework that runs the regression suite on every release instead of a person doing it by hand.

    • Python
    • Selenium
    • pytest
    • GitHub Actions
    • Docker

Stack

Languages
  • Python
  • TypeScript
  • JavaScript
  • C++
  • Java
  • SQL
Backend
  • Django
  • Django REST Framework
  • Celery
  • Node.js
  • Express
  • REST APIs
  • Kafka
  • RabbitMQ
Frontend
  • Next.js
  • React
  • Tailwind CSS
Data
  • PostgreSQL
  • MySQL
  • MongoDB
  • Redis
  • Schema design
  • Window functions, CTEs
Infrastructure
  • Docker
  • Linux
  • AWS (EC2, S3)
  • Nginx
  • Git
  • GitHub Actions
Testing & automation
  • Selenium
  • pytest
  • Playwright
  • Postman
  • Bruno
  • Test design
  • Defect lifecycle

Experience

  1. FEB 2026—DHAKA6 mos

    DoinSQA Engineer

    Building and testing a signal-distribution platform that fans real-time trade signals out to broker integrations.

    Built MethodHub, a Next.js and PostgreSQL application used company-wide for monthly submissions and HR reporting — sole developer, in production

    Designed and own the Selenium regression framework: page objects, pytest fixtures, containerized browsers, running on every release through GitHub Actions

    Validate REST APIs across broker integrations with Postman and Bruno, covering auth, error paths, and response contracts

    Work in Docker on Linux; services run on AWS

  2. 2024DHAKA

    SoftDeft ITMERN Stack Developer, Intern

    Built features across React, Node.js, Express and MongoDB in a working Agile team

    Learned collaborative Git — branches, pull requests, review — on a real codebase

  3. 2023—2024DHAKA

    IUBATAcademic Mentor, Programming & Compiler Design

    Taught C/C++, data structures and compiler concepts to first- and second-year students

    Explaining why code is wrong to someone who can't see it yet is the same skill as writing a bug report that a developer can act on without asking a follow-up question

Competitive programming

Codeforces
1154
Problems
500+
LeetCode
CSES

Five hundred problems, and what they actually taught me

Competitive programming trains you to find the input that breaks a solution before you submit it, because you only get one verdict. That instinct shows up in everything I write now: I reach for the empty case, the boundary, the concurrent write, before I reach for the happy path. It’s why the retry logic in the service above was tested for duplicates before it was written.

It’s also the honest reason I’m good at testing. Finding the input that breaks a solution and finding the input that breaks a product are the same skill pointed at different targets.

Contributions · last 53 weeks
LessMore
Codeforces profile