Software Engineering Guidelines

Software Engineering as it relates to backend web development.

Vendor everything

Cache the dependencies in the application.

On Naming Things

  • Prefer full words over acronyms.
  • Prefer verbosity when the audience is a human and not a machine.
  • Avoid shortening or abbreviating a word and combining it with an acronym.
  • Prefer snake case over camel case unless camel case is idiomatic or conventional.
  • Adjust the specificity and complexity of the language depending on where it appears.


Provide quantitative evidence supporting a change. Using a benchmarking tool as a before/after change is one way.

  • For web requests, something like wrk2
  • For Ruby code changes, something like benchmark
  • For database changes, something like pgbench