Liberal vs Conservative Software Engineering… another epic rant from ☛ Steve Yegge

Steve has posted another epic rant on Google+ about the Software Engineerings own political axis. My favorite part it the characterization of the Conservative View as Fred from Scooby-Doo and the Liberal View as Shaggy. The views are highlighted below

Conservative View

  1. Software should aim to be bug free before it launches.
  2. Programmers should be protected from errors.
  3. Programmers have difficulty learning new syntax.
  4. Production code must be safety-checked by a compiler.
  5. Data stores must adhere to a well-defined, published schema.
  6. Public interfaces should be rigorously modeled.
  7. Production systems should never have dangerous or risky back-doors.
  8. If there is ANY doubt as to the safety of a component, it cannot be allowed in production
  9. Fast is better than slow.

    Liberal View:

    1.  Bugs are not a big deal. 
    2. Programmers are only newbies for a little while.
    3. Programmers figure stuff out amazingly fast when their jobs depend on it.
    4. Succinctness is power.
    5. Rigid schemas limit flexibility and slow down development.
    6. Public interfaces should above all else be simple, backward-compatible, and future-compatible.
    7. System flexibility can mean the difference between you getting the customer (or contract) vs. your competitor nabbing it instead.
    8. Companies should take risks, embrace progress, and fiercely resist ossification
    9. Premature optimization is the root of all evil.

      Excerpted from "Notes from the Mystery Machine Bus" by Steve Yegge