Knowledge base

Everything I know about programming.

A map of the technologies I work with and the ones I'm learning, grouped by what they do. Each one carries its level, so you can tell at a glance what I know inside out, what I've used on real projects, and what I'm picking up right now.

Every technology carries its level: proficient, used in projects, or learning.

200 technologies across 7 categories

01

Languages

The languages I write in, split by what they actually are: programming, query, scripting, markup, styling and data formats.

16 technologies

Programming languages

Query languages

Scripting and shell

Markup languages

Styling languages

Data formats

02

Frameworks and libraries

What gets built on top of each language, grouped by the platform it belongs to.

49 technologies
03

Data and messaging

Where the information lives and how services talk to each other.

11 technologies
04

Cloud and DevOps

Where the software is deployed, how it gets there repeatably, and how it is watched once it is live.

38 technologies
05

Architecture

How I structure systems so they survive growth, stay safe to change, and remain secure.

36 technologies
06

Design patterns

The classic catalogue of solutions to recurring design problems, and the vocabulary to talk about them.

22 technologies
07

Quality and testing

Tests, practices and analysis so that changes do not break what already worked.

28 technologies