Skills and Expertise

In the past ten years of programming, I have dealt with a tremendous amount of programming languages and frameworks, from C to Ruby on Rails and from Java 6 to Python Django. As a result, I have figured out which languages and frameworks suit me best, and how I can achieve the best results to best meet the needs of the end user.

In recent years I have specialised in a few stacks, as can be read below. Although of course I have my preferences, I will always choose the best tool for the job, regardless of my perfonal preference.

I have worked both as a hands-on software engineer and as a technical lead, with responsibilities that go beyond just software development (software architecture, training developers with new technologies, determining the feature road map).

Working method

Methods I employ to deliver elegant, efficient, readable, understandable and maintainable code that adds value to a company and/or product.

Technologies used

The technologies I’m currently working with the most and am most familiar with are in bold.

Backend/server development

  • Golang (Gin, Echo)
  • Typescript (NodeJS, Express, Deno)
  • Kotlin/Java (Spring Boot)
  • Rust
  • Haskell

With mostly PostgreSQL as the underlying database.

Front-end and mobile development

  • React with Typescript (with Redux, Styled-Components, NextJS)
  • React Native (Expo or bare)
  • Progressive Web Apps
  • Elm

Site Reliability Engineering and DevOps

  • Linux (Arch, Ubuntu, CentOS)
  • Docker and Kubernetes (Compose, Helm)
  • Infrastructure and provisioning (Ansible, Terraform, Shell)
  • CI/CD (GitLab)
  • Systems integration
  • Cloud (DigitalOcean, AWS)
  • Nginx

Domain specific

  • Compilers, parsers, DSLs: Golang, Rust, Haskell
  • Systems programming: Rust, Golang, C
  • Data science: SQL, Python, Javascript

Learning

Currently, I spend around 20 hours per week on self-education. Some of it focused on computer science, most of it on other subjects (like philosophy, history and linguistics). You can read more on my learning page.

The old learning page is archived here.