Hey there —

I'm Shanaka, and I
build things
with code.

Software engineer in Colombo, about ten years in. These days I spend most of my time on AI and machine learning systems and the cloud infrastructure that keeps them standing up — and the rest of it writing and making videos about what I pick up along the way.

I like problems that look messy from the outside and turn out to have a clean shape underneath. Most of what I know came from breaking something first.

Shanaka Madushanka, smiling, with a lake and hills behind him at sunset.
Somewhere above Kandy, about an hour before the light went.

A bit more about me

I started out as a backend developer who was far too interested in the servers. That curiosity took me through distributed systems, then into machine learning, and eventually into the part nobody really wants to own — the gap between a model that works in a notebook and a system that's still standing at three in the morning.

So that's mostly what I do now. Data pipelines, training and evaluation loops, inference services, and the cloud platforms underneath them. I think a lot about latency, about what things cost to run, and about whether whoever is on call can actually work out what broke. The best systems I've worked on were the boring ones.

The other half is writing and recording. I started doing it because explaining something is the fastest way to find out whether I actually understand it. I kept doing it because the explanations I needed when I was starting out mostly weren't there.

I'm based in Colombo, I work remotely with teams in a few different timezones, and I'm always happy to talk shop with someone who's stuck on something interesting.

What I work with

AI & machine learning
LLM applications, retrieval pipelines, fine-tuning and evaluation. Mostly the unglamorous half — retrieval quality, guardrails, eval sets, keeping the bill sane — because that's usually what decides whether a feature survives real users. PyTorch · LangChain · vector search · evals
Cloud & infrastructure
Multi-region setups on AWS and GCP that don't quietly cost a fortune. Kubernetes, Terraform, event-driven services, and enough observability to prove any of it works. I've migrated monoliths, and I've talked teams out of doing it too early. AWS · GCP · Kubernetes · Terraform
Building software
Distributed backends, APIs and internal platforms meant to be maintained by people who aren't me. Real types, real tests, clear boundaries, CI that people trust enough to actually read. TypeScript · Python · Go · PostgreSQL
Writing & teaching
Articles, videos and the occasional workshop. I try to explain hard things in a way you could act on the same afternoon, which usually means cutting about half of what I first wrote. Writing · video · workshops · mentoring

Things I've built

A few projects that made it past the demo and into daily use.

A migration that finally stuck

Took a single-region monolith to active-active Kubernetes across three regions, with nobody noticing the cutover. All of it in Terraform afterwards, and the monthly cloud bill came down around 40% once we right-sized and moved the batch work to spot.

  • Kubernetes
  • Terraform
  • Istio
  • GCP

How I got here

  1. 2022 — now

    Principal engineer, AI platform

    I own the architecture behind the AI products we ship, built the evaluation and inference platform they run on, and work with a team of eight — which has turned out to be as much about writing things down clearly as it is about code.

  2. 2019 — 2022

    Senior engineer, cloud

    Led the move to Kubernetes and an event-driven core, and introduced infrastructure as code along with an SLO practice that survived a few rounds of healthy scepticism.

  3. 2016 — 2019

    Software engineer

    Shipped features across the whole stack and got properly acquainted with databases, queues, and what a bad schema decision costs you eighteen months later.

  4. 2015

    First thing I ever shipped

    A small internal tool, one genuinely nerve-wracking deploy, and the realisation that this was what I wanted to do with my time.

Say hello

Working on something interesting, stuck on something annoying, or just want to argue about architecture? I read everything that lands here, and I reply to most of it.

You'll get to check it over before anything actually sends.