Code, by Charles Petzold. It came to me at exactly the right time, and broke through the biggest conceptual barrier I’d had until that point; how do you actually go from logic gates to general purpose computing? Having Petzold walk you up the ladder of abstraction, never missing a link, really got me over the hump of treating all that complexity as a black box. On a meta level it gave me confidence to go approach apparently impossible things with an open mind and dig deep enough that you see how the “magic” works.