Skip to content
Rohit Behera

About

Most of what I know came from systems that could not be rolled back casually.

For three years I built account-servicing and payment APIs on a global bank’s core banking platform. In that environment you do not ship first and find out later: the thing on the other end of the endpoint is somebody’s account.

The same problem keeps turning up in different clothes: what happens when the thing you depend on fails halfway through. A retry that runs twice. A message redelivered after the handler committed. An upload that reports success with half the file. A text chunk that embeds as garbage. I look for those on purpose now.

History

  1. Jul 2023 – Sep 2026

    Senior Analyst, Backend Engineering

    A global bank · Chennai

    Account-servicing and payment APIs on a core banking platform, where behaviour has to be provably unchanged before anything ships. Joined as a Development Engineer and was promoted to Senior Analyst in February 2025.

    • Moved 17+ endpoints off SOAP onto a standard REST stack, test-first, about 35% of the programme
    • Raised coverage on the migrated surface to 80%; legacy maintenance overhead down about 25%
    Evidence →
  2. 2026

    Open source

    Upstream fixes, two tools of my own

    Fixes sent to libraries I use: Prometheus, Keycloak, LangChain4j, rclone, docling, unstructured and others, each with a regression test that fails before the patch. Primary contributor to raged, a code-retrieval engine for agents. Author of splitlint and Plumb.

    Evidence →
  3. 2026

    Credit-card onboarding pipeline

    Personal capstone

    A five-stage event-driven onboarding service in Spring Boot, RabbitMQ and PostgreSQL, built to make every failure end in a defined, audited state. Seven ADRs, 138 tests, alerting and dashboards.

    Evidence →
  4. 2019 – 2023

    B.Tech, Mechanical Engineering

    National Institute of Technology Karnataka · Surathkal

    Moved into backend work because the problems were more interesting. Led technical workshops for 20+ students with the IET NITK chapter.

How I work

Four habits, each with somewhere to check it.

  1. 01

    The test fails first

    A fix arrives with a regression test that fails on main and passes with the patch. It is the only kind of “I fixed it” a reviewer can check in a minute.

    Upstream ledger →
  2. 02

    Every failure ends in a named state

    Retry, breaker, dead-letter, terminal status, alert. If a failure can strand work silently, the design is not finished.

    Failure lab →
  3. 03

    Write down what is not handled

    The ADRs record the gaps next to the decisions. A design document that lists only strengths is a pitch.

    Known gaps →
  4. 04

    Measure before claiming

    The retrieval on this site ships with its own evaluation set and reports where it misses.

    Retrieval eval →

Stack

grouped by what it is for
Services
Java 17Spring Boot 3Spring Data JPAHibernateRESTOpenAPIgRPC
Bank APIs, onboarding pipeline
Data & messaging
PostgreSQLFlywayRabbitMQApache KafkaRedis
Onboarding pipeline
Reliability
Resilience4jTransactional outboxIdempotency keysMicrometerPrometheusGrafana
Onboarding pipeline
Testing
JUnit 5MockitoTestcontainerspytestTDD
Everything here
Retrieval & LLM tooling
Tree-sitterNeo4jQdrantEmbeddingsBM25LangChain4jUnicode segmentationClaude Code hooks
raged, splitlint, Plumb, this site
Platform
DockerKubernetesAWSJenkinsGitHub ActionsAzure DevOps
Bank, CI for every repo
Also write
PythonGoTypeScript
Upstream fixes, tools
Certified

Oracle Certified Java SE 8 Programmer

AWS Certified Cloud Practitioner

Open to backend and platform roles.

Happiest where the failure modes matter: payments, messaging, data pipelines, and the retrieval side of AI systems. Based in Chennai, India; available now.

rohit.behera12232@gmail.com
loading index…Full retrieval trace →