Who's me?
I'm a systems developer. Oh sorry that's a reserved keyword. I meant I'm a people systems engineer. That means I write code for humans. And before you ask, yes, machines understand it just as well.
But what does it mean to write code for humans? Well a couple of things. First, code should read like an article. You have a block that conveys an idea. It describes the idea on a single level of abstraction. It achieves this by referring to blocks of different levels of abstraction without spilling their contents for everybody to see.
Writing code for humans also means writing code that is easy to maintain. Maintainability is mainly driven by understanding which parts of the code are the most likely to require changes in the future. An architecture designed to contain the change - by definition - results in a system that is easy to change.
Full-stack and beyond
I have worked in web development full-time since 2022, covering everything from infrastructure to frontend. On the infrastructure side, my experience is from AWS, including Lambdas, API Gateways, RDS, S3, and CloudFront. I'm experienced in setting up AWS organizations from scratch. I do all infrastructure definition with Terraform (or OpenTofu) - including the organization setup. I have pioneered best-practise infrastructure patterns, such as the API Gateway Authorizer, at my employer. I also have deep knowledge in Lambda performance analysis and optimisation.
In terms of actual development, I've built performance-critical backend services in Rust (Axum) and in NodeJS (Fastify, NestJS) with TypeScript. I like to keep it functional and type-safe. Recently I've worked more on the frontend side, building statically generated sites with React and Next.js using Material UI and Redux. On the job, I've built with Angular migrating some RxJs-heavy legacy towards more signals and observables based reactivity.
Embedded systems
Lately I've been finding hardware more and more interesting. I'm currently working on a machine vision based project focusing on edge computing in a resource constrained environment. I've also tipped my toes into Rust on bare metal.
To see how this is going and catch up on my other thinking, please, see the articles section.
Other pet projects
Other random stuff includes flashing the /e/ OS on my old OnePlus 6. I tend to like fixing my old stuff much more than buying new. This has lead me to tuning Xbox 360 disc reader to give the laser more juice, reattaching components on broken SteelSeries headphones, and making a Windows computer usable again with Tiny Core Linux.