Three Tribes of Programming

Describes the differences between programmers by grouping them into three buckets–poets, hackers, and makers.

  • Poets view writing code as a form of artistry and seek elegance.
  • Hackers view code as an extension of the machine seeking oneness (performance, correctness) with the hardware that executes the program.
  • Makers view code as the means to an end for building for other people.

The dimensions in which these different camps diverge is in 1) source code 2) execution of the program 3) correctness and 4) UI. For example, makers want code to be clean because that makes it easier to change and iterate whereas poets want their code to be as concise and expressive as possible.

Read the blog post

  • Rich Hickey

    Computer scientist and musician that designed the Clojure programming language. Has given many influential talks about functional programming.

  • Rust

    A statically typed programming language which enforces writing code that is free from certain memory errors (use after free, dangling pointers). It’s focus on performance and safety makes it well suited for a variety low-resource domains and mission critical systems.