Wathsala Gamarachchi

Software engineer, from the interface down to the database.

I build and maintain web applications in C# and ASP.NET MVC, with JavaScript on the front, MySQL underneath and Azure DevOps pipelines shipping it — currently at Waterlily Labs, on business software used in a UK property-management context. A lot of my work happens inside established codebases: reading them, tracing a problem through every layer, and changing them carefully.

Right now Learning Python, PostgreSQL, Airflow and dbt — the data layer underneath the applications I build.

Wathsala Gamarachchi

Wathsala Gamarachchi

Full-Stack Software Engineer · .NET

Sri Lanka

Open to full-stack, backend and software engineering roles.

GitHub LinkedIn

Same shape, different substrate

My thesis followed produce from a Sri Lankan farm to the market. My day job follows a request from a click to the database and back. Both are a chain of hand-offs, and the problems live between them.

What I researched

  1. 01

    Farm

    The crop leaves the field in the best condition it will ever be in.

  2. 02

    Transport

    Heat, handling and time. Much of the loss happens here, unrecorded.

  3. 03

    Intermediary

    It changes hands and changes price, and the farmer rarely sees the final one.

  4. 04

    Market

    Whatever survived, priced on what it looks like at the end.

What I build

  1. 01

    Interface

    Razor, jQuery and Bootstrap — where a person clicks and expects it to work.

  2. 02

    Application

    C# and ASP.NET MVC: rules, background jobs with Hangfire, live updates with SignalR.

  3. 03

    Data

    MySQL through Entity Framework and Dapper — where it has to be right.

  4. 04

    Delivery

    Azure DevOps YAML pipelines and tests, so a change reaches production intact.

Every layer gets the work in some state from the one before it and hands it on. Most of what I do is understanding those hand-offs well enough to change one without breaking the next. Read the research

Current orbit Where I work

Most engineering is changing software that already works without breaking it. That is most of what I do, and the part I have come to enjoy.

Waterlily Labs

  1. Software Engineer Intern
  2. Junior Software Engineer
  3. Software Engineer

Full-stack work on established business applications used in a UK property-management context — feature development, maintenance and delivery across the interface, the application layer and the database.

  • Build and change features end to end: Razor views and jQuery on the front, C# and ASP.NET MVC 5 controllers and services behind them, MySQL underneath.
  • Work inside existing production codebases on .NET Framework 4.7.2 — reading unfamiliar code, tracing behaviour through layers, and fixing defects without breaking what depends on them.
  • Write and maintain data access against MySQL with Entity Framework 6 and Dapper, and work with the existing relational schema behind each feature.
  • Work with background processing (Hangfire), real-time updates (SignalR) and sign-in through OWIN with Azure AD.

Full experience, stack and skills

What I work with

The full list — each skill marked by whether I used it in production, in my own projects, or am still learning it — is on the experience page.

Day to day

Application and interface work, in production.

  • C#
  • ASP.NET MVC 5
  • Dependency injection
  • Hangfire
  • SignalR
  • OWIN · Azure AD
  • JavaScript
  • jQuery
  • Razor views
  • HTML · CSS
  • Bootstrap 3 & 5
  • Responsive, mobile-first UI

Data & delivery

The database underneath and the pipeline after.

  • SQL
  • MySQL
  • Entity Framework 6 · EF Core
  • Dapper
  • Azure DevOps
  • YAML pipelines · CI/CD
  • Azure Boards / TFS
  • Git
  • MSTest · Moq
  • Serilog

Learning properly

Building with them, not claiming them yet.

  • Python
  • PostgreSQL
  • Airflow · dbt

Open a transmission Send a letter

I am open to full-stack, backend and software engineering roles. If you are hiring, untangling a codebase, or curious about anything here, I would like to hear from you.