Lessons on Programming

Matt Rickard shares his reflection on 10,000 hours of programming

I'm noting down a couple ones that I would like to remember.

On finding answers

  • Browsing the source is almost always faster than finding an answer on StackOverflow
  • In many cases, what you're working on doesn't have an answer on the internet. That usually means the problem is hard or important, or both.

On code

  • Simple is hard.
  • Delete as much code as you can.
  • If it looks ugly, it is most likely a terrible mistake
  • Name variables correctly
  • It should probably be refactored if you have to write a comment that isn't a docstring. Every new line of comments increases this probability. (For a more nuanced take, the Linux Kernel Documentation)

On knowing how it works

  • Know the internals of the most used ones like git and bash
  • If you don't understand how your program runs in production, you don't understand the program itself

On productivity

  • There's no correlation between being a 10x programmer and a 10x employee (maybe a negative one).
  • Some programmers are 10x more efficient than others. I know because I've been both a 10x programmer and a -1x programmer.