play «

Coding wisdom from an immature amateur

Everyone is making lists so here is mine.

  1. code that's easy to read is not easy to write.
  2. code that's easy to write is not easy to read.
  3. it is easier to write new code than to read code that someone else wrote.
  4. when working with someone else's codebase, no matter how good of a programmer they are, you will hate them and you will disagree with them. the only solution is to get over it. so stop complaining.
  5. finding the simple solution to a problem is much harder than writing complicated logic to solve it.
  6. being opinionated is a good thing, even if your opinions are a little off. strong opinions lead to consistency, which is like, the number one virtue in this field.
  7. being opinionated doesn't mean being a stuck-up douche. (just clarifying.)
  8. code is written for humans to read. machines are secondary. the only source codes that survive are the ones that other humans can continue to understand and modify over time.
  9. always set things up such that the easiest way to do something is the right way to do it. seriously. everyone wins.
  10. every programmer has abstract ideas of what good code is, and most of them list these rules as if they are moral guidelines.
  11. most programmers actually agree with each other on these abstract ideas, but bicker incessantly about specific cases. my diagnosis: it's like politics; coming up with the details of a general concept is a nice game of making-shit-up where all parties are wrongly convinced they know what they are talking about.
  12. numbered lists make people sound like they know what they are talking about.
  13. the end product is not the only thing that matters. i repeat: only good code survives the test of time.
  14. it is absolutely insane that we have found formalized abstractions (that we call programming languages) that let us represent the known world pretty much as accurately as we'd like to. what an amazing achievement. it's not even a scientific discovery, it's more like scientific creativity. we didn't find it, we made it. go humans!
  15. code = $$ woohoo let's live it up
  16. software is probably going to continue eating the world for a very long time.
early 2013