Hi, I’m Ravi — a software developer and engineering leader based in Toronto, Canada.

Over the past decade-plus in the industry I’ve moved across a wide range of roles: writing code, running infrastructure, leading teams, and designing systems. At any given time I’m probably thinking about how to make software more correct, more observable, or more maintainable.

What I Do

My professional work sits at the intersection of backend systems and developer tooling. I’ve spent time across the full stack and at multiple altitudes — from individual contributor work deep in business logic to architecting cross-team systems and managing engineering teams.

Roles I’ve held along the way:

  • Software Developer — full-stack and backend, primarily C#/.NET, JavaScript/TypeScript, Go, and Python
  • Solutions Architect — translating product requirements into technical designs across distributed systems
  • Development Manager — building and growing engineering teams, running delivery processes
  • Scrum Master — coaching agile practices and keeping teams unblocked
  • Sysadmin — because someone has to keep the lights on

What I Build

Outside of work, I gravitate toward projects that scratch a creative or analytical itch — things that solve a real problem I actually have, rather than tutorial-driven exercises.

A lot of my side projects revolve around a private online hockey league I’ve played in for years. Over time that’s produced an API wrapper, a stats pipeline, a WPF draft tool, and more. It’s a good excuse to learn new languages and tools in a context that keeps me motivated.

I also occasionally write about what I’m learning and working on. You can find those posts on the blog.

Get in Touch

The best way to reach me is via GitHub or Twitter.