Shashank H RBackend Engineer
all systems operational--:--:-- IST

Portfolio · 2026 edition

Backend engineer at Engati, Bangalore. 2+ years full-time (after a 6-month internship) building Java & Spring Boot services for a high-volume B2B messaging platform.

  1. 01About
  2. 02Experience
  3. 03Work
  4. 04Incidents
  5. 05Playground
  6. 06Contact

I build reliable backends for high‑volume messaging.

~2M api triggers a day · 50k–100k retries. java · spring boot · kafka · redis · mongodb. failure rate: 35% → 12%. open to sde-2 roles · 2026

Skills: Java, Spring Boot, Apache Kafka, RabbitMQ, Redis, MongoDB, Spark, AWS S3, Microservices. Highlights: Open to SDE-2 roles, Employee of the Month ×2, MongoDB certified, CGPA 9.47, Bangalore.

(01) About

based_in
Bangalore, IN
engati
SDE · Jul 2024 → now (2y 2m)
intern · Jan → Jun 2024 (6m)
stack
Java · Spring Boot · Kafka
education
B.E. ISE · CGPA 9.47
awards
Employee of the Month ×2 · “Always at 110%”
status
● open to SDE-2 roles

I joined Engati as an intern in 2024, shipped a full-stack abandoned-cart flow within two sprints, and stayed to build its messaging backend: retry systems that ride out Meta delivery failures, Kafka pipelines that bill customers accurately, and an AI code reviewer my whole team now uses. I like queues, caches, clean APIs and boring deploys. Now I'm looking for my next team.

(02) Experience

GET /career · 8 spans · 200 OK

Experience

Read it like a request trace: my degree, internship, full-time role and the systems I built are spans on one timeline. Hover a row to open it.

  1. Everything so far. Still running, status 200.

  2. JSS Science and Technology University, Mysuru. Graduated with a 9.47/10 CGPA.

  3. Shipped a full-stack abandoned-cart recovery flow in one to two sprints, and hardened order validation and identity checks with senior engineers.

  4. Shopify popup → @Async shopper lookups (our DB → Shopify GraphQL → DuckDB) → Kafka → branded short link → message. Designed and tested end to end.

  5. Java & Spring Boot microservices for a high-volume B2B SaaS messaging platform. Employee of the Month twice (“Always at 110%”).

  6. Failed Meta deliveries come back as webhooks; retryable ones are re-sent via RabbitMQ with back-off, keyed by a trackerId. ~2M triggers and 50K–100K retries a day. Failure rate 35% → 12%.

  7. Webhooks → Kafka → S3, aggregated by idempotent, replay-safe Spark jobs for accurate customer billing.

  8. Reviews GitLab MRs with an LLM from a Slack trigger. ~20 developers, ~2 h → ~30 min per review, company award.

(03) Selected work · Engati

5 systems · 4 case studies

Selected work

(04) Incidents

2 resolved · 0 open

Production incidents

Production problems I tracked down, written up the way a postmortem would be.

INC-01 · MongoDB M20 · production● resolved

Cluster running out of memory

Impact
Memory exhaustion on the production MongoDB cluster.
Cause
Hot queries had no supporting index: ~3,000 documents scanned for every 5 returned.
Fix
Indexed the high-frequency query fields; scan-to-return fell under 100:1.

−60%memory usage (cut by over 60%)

Before: 100%. After: <40%.

INC-02 · FastAPI · embeddings● resolved

A service quietly leaking memory

Impact
Peak memory climbing to 2.5 GB on a critical service.
Cause
String concatenation inside an embedding loop kept allocating new copies.
Fix
Refactored the loop to in-place operations.

2.5 → 1 GBpeak memory

Before: 2.5 GB. After: ~1 GB.

(05) Playground

all systems operational

The retry flow, live

My Engati auto-retry framework, running live. Triggers flow out to Meta; failures come back as webhooks, through the analytics pipeline, to trigger-mvc. Retryable ones wait in RabbitMQ with back-off, then go out again with their original payload, fetched from MongoDB by trackerId. Switch the framework off, or cause a Meta outage, and watch the failure rate.

The live model needs JavaScript. Read how the framework works →

failure rate · live12.0%
in retry queue0
saved by retries0

(06) Contact · Got a role in mind?

Let’s talk