This page covers the majority of my programming journey, with the most notable experiences—those being the main programming languages I have learnt and use—being separated into their own sections in the timelines below. Other experiences such as languages, frameworks and dev tools can be found below the languages timeline.

Main Languages

Other Languages

As part of one of the largest projects I contribute to, I have learned parts of PHP with the Laravel Framework, but I wouldn't consider it enough to be proficient in and I don't have much use for the language at present.

Kotlin caught my eye and is a serious contender against Dart for various reasons, it has a really nice design, great typing and concurrency system, and runs on the JVM (if that still counts as a benefit). If I ever get back into application development, I'll probably be using Kotlin.

Scala is an interesting language with a very rich yet complex type system. Unfortunately, I couldn't find anything practical to do with this language but I hope that one day I will get that opportunity.

My HTML and CSS experience has been painful to say the least. To this day I consider myself a backend developer, my skills with frontend development are minimal as shown by this website (it took me half a year to create this). That being said, I am slowly improving but if you ever need help with fontend development, do us both a favour and ask a professional.


VSCode has been my primary editor since I started programming seriously. It's had its ups and downs but works for most projects and is generally reliable. I have tried other editors like Notepad++ and IntelliJ (for Kotlin and Scala) but they don't work as well for me in terms of productivity. In more recent times I have been familiarising myself with Neovim which has proved to be quite useful when working on projects in remote environments. I haven't quite grasped (Neo)Vim motions yet but I think that it could be a potential permanent contender against VSCode for remote work.