TECH & SKILLS

Below is a list of technologies that I've used through my career. The list is in order of what I use on a daily basis recently.

  • icon

    Golang

    Picked up Go for the simplicity and never really left. Goroutines and channels make concurrency feel built into the language rather than bolted on, which matters when you're wiring up gRPC services or chasing a caching bug at 2am. It's my default for backend work now.

    Focus

    backend

    Since first used

    8.8 yrs

  • icon

    AWS

    Gives you enough low-level control to build exactly the architecture you want, which is both a blessing and a good way to shoot yourself in the foot. Working on EC2 infrastructure at AWS gave me a much better sense of what's actually happening underneath the abstractions most people never look past.

    Focus

    cloud

    Since first used

    7.8 yrs

  • icon

    GCP

    Ran production workloads on GCP daily during my time at Nile, and it's hard not to appreciate how much friendlier the developer experience is compared to some of the alternatives. IAM and networking still take some getting used to, but the tooling feels like it was built by people who actually write code.

    Focus

    cloud

    Since first used

    5.7 yrs

  • icon

    Python

    It remains my go-to for quick scripts, data wrangling, or automating something I don't want to do by hand twice. The syntax gets out of the way, which is exactly what you want from glue code. Enjoy FastAPI for CRUD like projects, but if I need something more concurrent friendly I reach for Go.

    Focus

    backend

    Since first used

    11.8 yrs

  • icon

    PostgreSQL

    Five and a half years running PostgreSQL underneath Conservio taught me to actually read query plans instead of guessing at them. Proper indexing, window functions, and knowing when JSONB is the right escape hatch instead of the lazy one, it's the relational database I reach for by default now.

    Focus

    backend

    Since first used

    5.6 yrs

  • icon

    NodeJS

    Almost every web project touches JS somewhere, whether that's the event loop handling I/O under the hood or another npm package pulled in to solve a problem I'd rather not solve myself. The ecosystem is massive and occasionally chaotic, but I write some JS every year regardless of what I'm mainly working in.

    Focus

    backend

    Since first used

    10.8 yrs

  • icon

    Docker

    Hard to imagine working without containers at this point. I run most of my local dev environment through Docker so it mirrors production closely enough that 'works on my machine' stops being an excuse. Multi-stage builds and layer caching alone are worth the learning curve.

    Focus

    devops

    Since first used

    8.8 yrs

  • icon

    Kubernetes

    Managed offerings like EKS and GKE hide most of the operational pain, but the underlying concepts, pods, deployments, service discovery, are worth understanding properly if you want to reason about failures instead of just restarting things. Still my orchestration tool of choice even when a provider is doing the heavy lifting.

    Focus

    devops

    Since first used

    7.8 yrs

  • icon

    React

    Of all the JS frameworks I've used, still my favourite. The component model and hooks make state management click in a way class components never did for me.

    Focus

    frontend

    Since first used

    10.8 yrs

  • icon

    React Native

    My cross-platform tool of choice when native performance matters more than pure web reach. Bridging to native modules can get hairy, but sharing one codebase across iOS and Android still saves a lot of duplicated work.

    Focus

    mobile

    Since first used

    10.8 yrs

  • icon

    Scala

    Spent enough time in Scala to appreciate pattern matching and the JVM ecosystem, but functional programming never fully clicked for me the way it seems to for others. Comfortable enough to read and contribute to a codebase without slowing anyone down.

    Focus

    backend

    Since first used

    8.8 yrs

Below is a list of open source packages I've built over the years

  • Distributed, gossip-coordinated token-bucket throttling middleware for Go HTTP services

    Tags

    gorate-limiting
  • An opinionated caching mechanism written in Go

    Tags

    gocaching
  • A simple & small CLI tool to compress and decompress files using Golang

    Tags

    gocompression
  • Simple & lightweight side menu drawer

    Tags

    react-nativemobile
  • Demystifying hashing, made simple and easy

    Tags

    javascripthashing