Relearning Software Engineering collects articles about how to think as a software engineer using lambda calculus, type theory and category theory.