Software Engineer

Building reliable backend systems and cloud-native products.

I'm a software engineer focused on backend services, financial workflows, integrations, and cloud-native systems. I work mainly with Go, TypeScript, Node.js, PostgreSQL, Docker, Kubernetes, and GCP/AWS, with an emphasis on clear, maintainable solutions that solve real product and business problems.

Core stack

Technologies I work with

Tools and platforms I use to build and operate production systems.

Core expertise

What I focus on

A concise overview of the areas where I bring the most value.

Backend Engineering

Designing and shipping maintainable backend services, APIs, and integrations with a focus on reliability and clarity.

Cloud & Infrastructure

Building and operating production systems with practical infrastructure choices, observability, and deployment discipline.

Product-minded Delivery

Working backward from user and business needs to deliver scoped, useful systems rather than unnecessary complexity.

Experience

Selected experience

Selected roles and work that reflect my experience building production systems across fintech, cloud, and connected technology.

Software Engineer

Thirdfort Limited

Dec 2020 — Present

Built and maintained backend services and cloud-native systems for financial workflows, reporting, onboarding, and billing in a regulated fintech environment.

  • Led the design and delivery of an enhanced bank statement analysis service that matched transactions to Source of Funds criteria, helping reduce manual analysis and improving client turnaround times by over 80%.
  • Implemented and evolved production backend services using Go, Node.js, PostgreSQL, gRPC, Pub/Sub, BigQuery, Terraform, and Google Cloud, balancing maintainability, scalability, and operational simplicity.
  • Delivered cross-functional projects including a billing engine migration from Node.js on GKE to Go on Cloud Run, bulk onboarding workflows via CSV processing, and client reporting systems supporting KYC and AML compliance needs.
Go Node.js TypeScript PostgreSQL gRPC Pub/Sub BigQuery Terraform GCP

Research and Development Engineer - IoT

Dialog Axiata PLC

Jun 2017 — Dec 2020

Worked across IoT R&D and software engineering, building connected systems spanning embedded devices, communication modules, and backend applications.

  • Developed IoT prototypes and connected device platforms using embedded hardware, firmware, and LTE/NB-IoT technologies.
  • Built a smart seat reservation system using PHP Laravel and real-time IoT platform data for hybrid workplace use cases.
  • Contributed to Sri Lanka’s first NB-IoT Hackathon by helping design a custom development board and supporting developer adoption of the platform.
Node.js TypeScript PHP Laravel IoT Embedded Systems NB-IoT LTE
Projects

Featured work

A selection of projects that show how I approach engineering problems, technical trade-offs, and delivery.

Enhanced Open Banking Reports

A bank statement analysis service that matched transactions to Source of Funds criteria to reduce manual review and speed up client turnaround.

Problem

Manual financial data analysis was slow and difficult to scale, creating delays for clients and internal teams reviewing bank statement data.

Approach

Built an enhanced analysis service using Go, PostgreSQL, and gRPC, and worked closely with Product and Design to focus on the highest-value reporting outcomes first.

Outcome

Improved client turnaround times by over 80% while enabling more fault-tolerant reporting and horizontal scaling for growing data volumes.

Go PostgreSQL gRPC GCP Cloud Run

Billing Engine

A mission-critical billing and subscription microservice used to generate billing and invoicing data for client activity.

Problem

The billing service had become harder to maintain over time and needed a more reliable and operationally simpler architecture.

Approach

Worked with Finance, Data Analytics, and Engineering to evolve the service, then migrated it from Node.js on GKE to Go on Cloud Run and replaced Kafka with Pub/Sub.

Outcome

Improved maintainability and simplified operations for a core internal financial system while preserving critical billing functionality.

Go Node.js PostgreSQL Pub/Sub Kafka GKE Cloud Run Docker

Client Reporting

A reporting microservice designed to deliver qualitative and quantitative client data for compliance-focused use cases.

Problem

Clients needed better reporting to support compliance requirements and reduce KYC and AML risk with clearer, more useful data outputs.

Approach

Designed and implemented the service with Engineering, Product, and Data Analytics, focusing on structured reporting flows and maintainable backend architecture.

Outcome

Delivered reporting capabilities aligned with client compliance requirements and strengthened Thirdfort’s support for KYC and AML workflows.

Go TypeScript ArangoDB Terraform API Development

Stripe Payment Integration

A practical demo of a payment flow showing backend and frontend interaction patterns.

Problem

The goal was to model a realistic payment flow with provider integration and clear control of payment state.

Approach

Implemented the backend flow cleanly and treated the demo as a production-minded integration exercise.

Outcome

Created a useful reference implementation for payment workflow discussions and future reuse.

Go Stripe Cloud Run TypeScript
Writing

Technical writing and notes

A small selection of engineering writing that reflects how I communicate technical ideas and practical solutions.

Medium

Testing Apps Locally with Google's Pub/Sub Emulator

A practical guide to testing Pub/Sub workflows locally using Google’s emulator, including environment setup, topic and subscription creation, and push-based message delivery for development workflows.

2024-12-01

Medium

Optimizing Puppeteer for PDF Generation: Overcoming Challenges with Large File Sizes

A short engineering write-up on diagnosing and improving Puppeteer-based PDF generation when large rendered reports caused browser crashes and scalability issues.

2024-12-04

Contact

Let’s connect

I’m open to software engineering opportunities and selected freelance backend work.

Whether you’re hiring for a software engineering role or looking for help with backend systems and integrations, I’d be glad to hear from you.

Email GitHub LinkedIn Upwork