I am a passionate developer with over a decade of IT experience since 2012. I have been a developer, project engineer and tech sales and then came back to developing because this is the activity I love. I’m interested in state-of-the-art methodologies for development like Behaviour- and Test-Driven Development.
I have developed on many stacks from assembler & C to Swift. Lately I’m into full-stack web development with React, Redux, RxJS, TypeScript, node.js and AWS.
Below is a list of materials that helped me shape my views.
- Engineering
- Adventures in Spacetime - Kevlin Henney - NDC London 2025 - YouTube
- Opening Keynote: Greg Young - Stop Over-Engenering - YouTube
- Programming’s Greatest Mistakes • Mark Rendle • GOTO 2023
- Tidy First? A Daily Exercise in Empirical Design • Kent Beck • GOTO 2024
- Failure Is Always An Option • Dylan Beattie • GOTO 2023
- Refactoring & testing
- Structure and Interpretation of Test Cases • Kevlin Henney • GOTO 2022 - YouTube
- Refactoring Is Not Just Clickbait - Kevlin Henney - NDC London 2023 - YouTube
- Gilding the Rose: Refactoring-Driven Development - Kevlin Henney - ACCU 2023 - YouTube
- Part 1/3 - Introducing the Gilded Rose kata and writing test cases using Approval Tests, Emily Bache - YouTube
- Part 2/3 - Refactoring item logic using ‘lift up conditional’, Emily Bache - YouTube
- Part 3/3 - Replace Conditional with Polymorphism, Emily Bache - YouTube
- AI-assisted programming
- Architecture
- Microservices
- Event Sourcing & CQRS
- Event Storming
- Redux
- RxJS
- IaC Infrastructure as Code
- NoSQL
- DynamoDB
- AWS re:Invent 2018: Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (DAT401) - YouTube
- AWS re:Invent 2023 - Data modeling core concepts for Amazon DynamoDB (DAT329) - YouTube
- AWS re:Invent 2023 - Advanced data modeling with Amazon DynamoDB (DAT410) - YouTube
- AWS re:Invent 2023 - Dive deep into Amazon DynamoDB (DAT330) - YouTube
Testing the Behavior of a GraphQL Schema
I submit a PR that adds a new resolver to my GraphQL schema. My teammate tells me they’ve merged and deployed it. But when I try to access the new resolver, it isn’t reachable, and I can’t figure out why. I check the infrastructure test and see that the schema has changed - but my resolver is missing. I start losing my mind.
Test-Driven Education
In a recent discussion with one of my mentors in full-stack web development, I was explaining how I learned certain frameworks and libraries. After seeing my approach, he remarked, “This looks like… Test-Driven Education.”
Overcoming the Struggles of Naming Variables
While contributing to the obsidian-tasks project with Clare Macrae, I was introduced to two powerful concepts that helped me tackle one of the hardest problems in programming - naming variables.
Data flow approach to full stack web-development
The way I am developing features for full stack applications has a pattern. I’m pretty sure that I’m not inventing anything new, this is more of an exercise for me to bring clarity to myself first, but maybe someone can find this helpful too.
Automated and versioned type importing from GraphQL schema
While recently working on a GraphQL project I had a task where the schema (part of the Infrastructure-as-Code) had to be exported to the frontend and the backend in TypeScript.
Testing Svelte reactivity with a wrapper
In an open-source project that I’m co-developing with Clare Macrae, we had to TDD some functionality in a Svelte component, but first we had to cover the behaviour of the existing component with tests looking like “The user has done this, test that the component has behaved like that”.