nick gavalas

web performance & musings

personal finance for programmers: introduction _

// date: 16 oct 2025 tags: personal finance

I’ve been helping my siblings with some personal finance decisions over the last few years and they asked me how I knew so many random things about taxes and the different investment account options and retirement math.

The easy answer is that software engineers are well-paid and the financial opportunity cost of not knowing how this stuff works is huge over the course of my career. The other piece, which I think makes this a double-whammy for software engineers, is that it kind of feels like bug-hunting in the tax code with some added optimization problems for even more fun.

who this (series?) is for

Other than my siblings, I’ve helped a few coworkers and friends set up their accounts properly to do things like backdoor Roth IRA contributions, mega-backdoor contributions, and more. There are plenty of articles about them on the web.

What I think is missing, however, is a list of the personal finance topics that are specifically relevant to software engineers, especially in big tech companies. Further, the explanations across the web can sometimes be a bit generic, so I figured I’d explain things in a way that might get through to the nerds: expressing some of the fundamental ideas as code.

The intention is not to encode the entire tax code in JavaScript on my website (though someone with way more free time has probably try to put it in TypeScript types or something). The goal is not even to explain the entire set of rules around different retirement accounts or strategies (some of them get pretty complicated, especially the rules around withdrawals).

The goal is to hopefully give an intuitive understanding of some of the most important and relevant personal finance concepts for SWEs and dig into the loopholes powering the tax strategies that genuinely do feel like bugs, so…let’s do some code review. I’m going to start with backdoor Roth contributions in the next post.

dark mode toggle