Oscar te Giffel
®
Work
Writing
Books
Taste
Resume
Writing
Notes on engineering and how I work
.
2026
26 May
Cognitive Debt
Clean code you can't explain is a worse problem than messy code that works.
19 Mar
Third Spaces
We optimized connection out of our lives, then started paying to get it back.
04 Mar
Where Does It Belong?
The one question that separates senior engineers from everyone else.
2025
01 Mar
The Good Enough Approach
Sometimes 'good' is enough.
31 Jan
Taking the Stairs
An ode to taking the harder path in life as an investment in personal growth.
28 Jan
How to Think Originally
Five habits for thinking more creatively, inspired by Odysseas.
23 Jan
TypeScript's satisfies Operator: A Quick Note to Self
A quick note to self about the `satisfies` operator in TypeScript
2024
01 Sep
Pattern Matching: From Rust to TypeScript
How pattern matching works in Rust, what TypeScript gives us natively, and how ts-pattern bridges the gap.
07 Apr
Effective Error Handling with Result Types in TypeScript
TypeScript has no built-in way to represent "this function might fail" in the type system. Here's how to build one.
01 Mar
Moving to Drizzle and back
I tried switching from Prisma to Drizzle. Many-to-many relationships sent me right back.
01 Feb
Better React Props
Using discriminated unions to make your React props type-safe and impossible to misuse.
01 Jan
A Software Developer's Journey to Productivity
2023
23 Dec
How to Copy an Object in Javascript
04 Aug
Maturity
28 Jul
My (S-tier) tech stack for 2023