Hey, I’m Harshavardhan. I build the backend systems people quietly rely on.

I’m a senior backend engineer in Hyderabad with more than five years spent designing, shipping, and owning distributed systems end to end. The work I care about is the unglamorous kind — zero-downtime schema migrations, incidents chased to their real root cause, and pipelines that refuse to drop a message.

Say hello on LinkedIn

A little about me

I started out at Thoughtworks, where nearly five years of consulting taught me to walk into an unfamiliar codebase, earn a team’s trust, and hand the system back in better shape than I found it. Today I’m a Senior Member of Technical Staff at Bluecopa, working on the backend behind finance and accounting data automation.

I’m happiest a layer or two below the surface — in the schema, the message broker, the migration that has to run while thousands of events keep flowing. I’ve built event-driven systems that move 10K+ events a day without losing one, and I treat a clean failure mode as part of the feature rather than an afterthought.

Mostly I work in Java, Kotlin, and Python across AWS and GCP. I care just as much about the craft around the code: tests that genuinely exercise the domain, observability you can actually reason with at 2am, and designs the next engineer can follow without a map.

Lately a growing share of that work is LLM-powered — building AI agents, the tool-calling that lets them act, and the evaluation and guardrails that keep them honest. It’s the same instinct as everything else I build: make it capable, then make it fail safely.

Where I’ve worked

A backend engineer’s path through product and consulting — newest first.

  1. Senior Member of Technical Staff

    • Designed and built a multi-tenant, self-service data platform where enterprise customers define and evolve their own typed schemas at runtime, with automated zero-downtime migrations across isolated tenant databases.
    • Turn production data-integrity failures into fail-closed fixes that retire the whole failure class, backed by recovery runbooks the on-call team can follow.
    • Architected an enterprise email-ingestion backend and its Microsoft (Azure AD) OAuth integration, defining the security, consent, and onboarding model for customer mailbox connectivity.
  2. Senior Consultant, Application Developer

    • Led the design of a high-throughput push-notification service on AWS SNS and Spring Boot — 10K+ events a day, with batching, tuned thread pools, retry scheduling, and idempotent, fault-tolerant workflows.
    • Introduced Avro-based, event-driven messaging on AWS Glue Schema Registry and MSK, then drove its adoption across teams.
  3. Consultant, Application Developer

    • Built Spring Boot and Kafka microservices and led full-stack delivery through a React front-end, and defined an AWS disaster-recovery strategy for the platform.
    • Shipped REST APIs and Kafka consumers for GDPR and CCPA data-deletion flows, holding the codebase at 90% test coverage.
  4. Software Engineer Intern

    • Built a Java starter kit with test-driven development, structured logging, and secret management baked in from the first commit.

A few things I’m proud of

  1. A self-service data platform

    Enterprise customers model their own typed tables and reshape them whenever they need to. Migrations run underneath — isolated per tenant, and without downtime.

  2. A notification pipeline at scale

    A push service on AWS SNS delivering 10K+ events a day: batched, retried, idempotent, and hard to knock over under real load.

  3. An event-driven backbone

    Avro on Kafka and MSK, with a schema-evolution discipline that let teams change their contracts without breaking each other.

  4. Natural-language diagnostics

    An LLM-powered triage assistant that turns “why did this fail?” into a lead drawn from real logs and traces, so triage starts with a direction instead of a blank search.

Tools I reach for

Languages
Java, Kotlin, Python, SQL
Frameworks
Spring Boot, JUnit, pytest
Cloud & infra
AWS, GCP, Docker, Kubernetes, CI/CD
Data & messaging
Kafka, AWS MSK, PostgreSQL, BigQuery, Avro
AI & LLM
LLM application development, AI agents & tool-calling, prompt engineering, LLM evaluation
Practices
Microservices, event-driven & distributed systems, low-level design (SOLID), design patterns, TDD, code review, observability

Certification AWS Certified Solutions Architect – Associate 2023–2026

Education B.Tech, Electronics & Communication Engineering, RGUKT 2017–2021 · CGPA 9.43 / 10

Things I’ve written

I write on my blog about AI agents and the backend craft around them.

Ongoing series

cartographer: learn AI agents by building one, in 30 days

A build-along that starts from an empty file and grows one real agent a day at a time, explaining every line on the way.

  1. Day 00 Learn AI agents by building one, in 30 days

    The plan for the series: an empty file, one agent, and thirty days to build it properly.

  2. Day 00a Six ideas that explain every AI agent, before any code

    A no-code primer on the loop, the tools, and the words every agent explainer assumes you know.

  3. Day 01 Why your first agent should be 40 lines, not a framework

    Writing the agent loop by hand first, so a framework never hides what it is doing.

  4. Day 02 An LLM is a stateless function. Everything else is you

    Why the model forgets the last file, and why memory is code you write around it.

  5. Day 03 Your repo does not fit in the context window. Now what?

    What happens when a whole repository is pasted into one prompt, and what to do instead.

Also on the blog

  1. HTTP just got a new method — meet QUERY

    A safe, idempotent method that finally lets a read request carry a body.

  2. The senior developer mindset: turning abstract ideas into production code

    The skill that has compounded most in my career: taking a vague, half-formed idea and making it real.

  3. RestTemplate vs RestClient vs WebClient

    Sorting out Spring’s three HTTP clients, and when to reach for each.

Read everything on harshakatkam.dev

Let’s talk

I’m always happy to talk backend systems, reliability, or a hard problem you’re stuck on. LinkedIn is the surest way to reach me.