Ujjwal Ojha

Senior Software Engineer specialising in Domain-Driven Design, hexagonal architecture, and distributed systems — I turn broken foundations into reliable, contract-driven platforms, design incremental migrations that keep things running, and ship flagship features on top of the work. Currently raising the bar on type safety, contract testing, and reliability.

Experience

Senior Software Engineer — Ubank, Sydney

APR 2025 — Present
  • Set the technical strategy for type safety and contract testing — designed an incremental strict-null-checks rollout and enforced runtime response validation so services comply with their OpenAPI specs and clients can trust generated contracts.
  • Championed the migration from store-managed API state to TanStack Query — authored the RFC and designed a backporting mechanism that keeps the legacy store in sync while new features migrate incrementally, proven on accounts, the most legacy-heavy part of the banking app.
  • Raised the bar on production reliability and security as a product engineer — built a startup config gate that blocks misconfigured pods from being promoted, so missing or invalid config fails at deploy time instead of at runtime, and stopped secrets from leaking into logs at the source.

Senior Software Engineer — Maytes, North Sydney

APR 2024 — APR 2025
  • Made a broken foundation production-safe — inherited an API where every endpoint returned HTTP 200 with `status: false` in the body and a failing test suite; established a JSON API error standard with string error codes, and revived the tests end-to-end until green on CI.
  • Made the API contract enforceable — authored the OpenAPI spec, built a v2 middleware validating requests and responses against it, generated the core banking provider's SDK from the spec, and stood up a mock provider so every banking gateway could be contract-tested.
  • Rebuilt the platform around modules and events — modular, hexagonal services with explicit ports, a banking-gateway abstraction, and EventBridge pub-sub with DLQs; defended the event-driven direction under pressure rather than falling back to synchronous dispatchers.
  • Delivered the flagship product on the new foundation — led the breakdown, sequencing, and delivery of expense splitting, a new kind of offering, released on top of the contract-driven platform.

Team Lead → Senior Software Engineer — Shippit, Sydney

SEP 2021 — FEB 2024
  • Led the team in discovery and delivery of a complex, one-of-a-kind logistics optimisation tool — a courier-recommendation product line for merchants (Node/TypeScript + React).
  • Upgraded a critical Aurora Postgres database on prod with close to zero downtime, and built AWS infra handling millions of orders a day.
  • Promoted to Team Lead — mentored engineers to become feature leads, ran code reviews, and partnered with Design and Product on technical feasibility across product discovery initiatives

Earlier career — Logpoint · Introcept Nepal · Yiwii · Hrevert (2013–2019)

Software Engineer — Logpoint

OCT 2017 — MAR 2019

Software Engineer — Introcept Nepal

AUG 2016 — SEP 2017

Software Engineer (Contracting) — Yiwii LLC

AUG 2015 — AUG 2016

Software Developer — Hrevert Technologies

MAY 2013 — AUG 2015

Skills

Languages:
TypeScript / JavaScript Node.js React PHP Ruby Python
Ops & Infrastructure:
Docker DevOps SRE Terraform Kubernetes GCP

Education

Bachelor of Science in Computer Science and Information Technology

Tribhuvan University, Kathmandu