Jake Worth

Jake Worth

Computers Can Be Understood

Published: September 06, 2022 • Updated: April 06, 2023 2 min read

A big mental leap I made early in my programming was starting to view computers as something that could be understood.

What is a computer? It’s a chip with circuits. You can recreate a basic version of it with water or even Minecraft redstone. Each abstraction on top of that chip is a set of instructions that combine into something remarkable. Something that you, with enough time, can understand.

To put it another way: computers are not magical.

I’m not talking about that magical feeling you might get solving an important problem with code. That is magical, and may it stay forever so.

I’m talking about this magic: “I need help with the ✨ magic ✨TypeScript incantation.” Typing a function isn’t magic, it’s a boring, predictable process you can figure out by reading the TypeScript docs for an hour. That magic kills learning because it often implies “this is not something that I can understand.”

Computers can be understood. To work in modern computing, you have to believe this. It’s okay to abandon a problem because you don’t want to solve it, or you don’t think it’s worth solving. Somewhere we all get to say “this is as deep as I need to understand this now.”

But when you’re starting, that stopping point is usually deeper than you can comfortably descend. Never walk away because you think you can’t understand the magic. You can.

Thanks to Nelson Elhage, whose post of the same name inspired this one.

What are your thoughts on this? Let me know!

Get better at programming by learning with me! Join my 100+ subscribers receiving weekly ideas, creations, and curated resources from across the world of programming.