About

Software engineering, from the interface down to the data.

I’m Wathsala Gamarachchi, a software engineer in Sri Lanka. I work across the stack on business web applications: C# and ASP.NET MVC on the server, Razor, JavaScript and jQuery in the browser, MySQL underneath, and Azure DevOps pipelines getting it all to production.

My degree is in Management Information Systems, which is half computing and half the organisations that use it. That pairing stuck. When I pick up a ticket I want to know what the code does, but also why the feature exists and what the person on the other end is trying to get done.

A lot of my time goes into software that already exists — reading code I did not write, following a bug from the interface down to a query, and making a change that fits the system rather than fighting it.

Lately I have been going deeper into the data layer — Python, PostgreSQL and the tooling around data pipelines — because every application I have worked on is only as good as the data underneath it.

How I got here

  1. 2020

    BSc in Management Information Systems (Special)

    NSBM Green University

    I started with Management Information Systems, a degree that sits between technology, information and business. It gave me an early interest in understanding not only how software is built, but why a system exists, what information it needs, and how that information moves through an organisation.

    • Data structures & algorithms
    • OOP
    • Systems analysis
    • Enterprise architecture
  2. 2021

    Building software end to end

    University projects

    Database schemas, backend logic and interfaces, across whatever stack a module asked for — C, Java and Spring Boot, Laravel, the MERN stack. Building something turned out to be one part of the job; making it usable and maintainable was a different one.

    • C
    • Java
    • Spring Boot
    • Laravel
    • MERN
    • SQL
  3. 2023

    Into production code

    Waterlily Labs

    Joined as an intern and stayed — through a junior role to software engineer. Real products, real users, and codebases older than my time there. It taught me that strong engineering is mostly understanding: the product, the existing code, and how data moves through the system before you change it.

    • C#
    • ASP.NET MVC
    • jQuery
    • MySQL
    • Azure DevOps
  4. 2024

    Research: IoT and the farm supply chain

    Undergraduate thesis

    My dissertation looked at post-harvest loss in Sri Lankan agriculture — interviews at the market and with experts, then the design of a sensor-to-dashboard system. It was my first project where the quality of the data decided whether the system would be useful at all.

    • Research
    • Systems design
    • React
    • Time-series data
  5. Now

    Full-stack engineering, and the data layer underneath

    Waterlily Labs · in my own time

    Day to day I work across the stack on .NET applications. Outside work I am learning the data side properly — Python, PostgreSQL, orchestration and modelling — because the applications I build are only as good as the data they sit on.

    • C#
    • .NET
    • React
    • Python
    • PostgreSQL

How I work

Not a methodology. Just the order I keep coming back to, and the reason the second step is the one I skip at my peril.

  1. 01

    Understand

    What is the actual problem, and who has it? Read the ticket, then talk to whoever wrote it.

  2. 02

    Read

    Trace the existing code and data before changing either. Most bugs make sense once you see the path.

  3. 03

    Change

    The smallest change that solves it properly, in the style of the code around it.

  4. 04

    Verify

    Tests where they earn their keep, logs where they do not, and a real run through the UI.

  5. 05

    Ship

    Through the pipeline, never around it.

Education

Wathsala in a graduation gown on the lawn, throwing her cap into the air and holding her degree scroll
Wathsala in cap and gown, looking over her shoulder from behind a bouquet of red and white roses
Wathsala in cap and gown on the lawn, looking back over her shoulder with her degree scroll raised and one heel kicked up
Close-up of a graduation gown with a blue and green hood over a pink saree, holding a bouquet of purple, pink and green chrysanthemums
Graduation day at NSBM Green University. Photographs by Malinda Gamaarachchi

Volunteering at university

Alongside the degree I volunteered with the IEEE Student Branch at NSBM — organising Duothan, the branch’s coding competition, helping run IEEE Day and student sessions, and serving on the executive committee.

A crowd of well over a hundred students on stage behind large blue IEEE DAY 2022 letters
IEEE Day 2022

What I hold to

Understand before optimising

A fast query against the wrong model is still the wrong answer.

Build useful things

A demo nobody needed is a tutorial, not a project.

Make it legible

If the next person cannot read it, I have moved the problem, not solved it.

AI as a tool, with judgement

I use AI assistants to review and explore. I do not ship code I cannot explain.