Skills and Expertise

With more than a decade under my belt in software development, I have dealt with a tremendous amount of programming languages and frameworks, while specializing in a handful. Although I have my preferences, I will always pick the technology that makes the most sense for a project, both short- and long-term.

I have experience in hands-on software development positions, as well as leadership positions, with responsibilities that extend further than lines of code (determining roadmaps, mentoring developers, business decisions).

Technologies used

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

Game development

  • Client: Unreal Engine 5 (C++, Blueprints), C, C++
  • Backend: C++ (Unreal Engine, custom), C# (.NET), Go

Backend/server development

  • Golang (Gin, Echo, Stdlib)
  • Typescript (NodeJS, Deno, Bun)
  • C# (.NET)
  • Elixir (Phoenix, OTP)

Most often with PostgreSQL as the underlying database.

Front-end and mobile development

  • React with Typescript (NextJS)
  • Web Assembly (Golang, Zig, Odin, Jai, C/C++)
  • React Native (Expo or bare)
  • Progressive Web Apps
  • Elm

Site Reliability Engineering and DevOps

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

Domain specific

  • Compilers, parsers, DSLs: Golang, C, C++
  • Systems programming: C, C++, Zig, Odin, Jai
  • Data science: SQL, Python, Javascript/Typescript

Working method

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


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.