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
- Software should aim to be bug free before it launches.
- Programmers should be protected from errors.
- Programmers have difficulty learning new syntax.
- Production code must be safety-checked by a compiler.
- Data stores must adhere to a well-defined, published schema.
- Public interfaces should be rigorously modeled.
- Production systems should never have dangerous or risky back-doors.
- If there is ANY doubt as to the safety of a component, it cannot be allowed in production
- Fast is better than slow.
Liberal View:
- Bugs are not a big deal.
- Programmers are only newbies for a little while.
- Programmers figure stuff out amazingly fast when their jobs depend on it.
- Succinctness is power.
- Rigid schemas limit flexibility and slow down development.
- Public interfaces should above all else be simple, backward-compatible, and future-compatible.
- System flexibility can mean the difference between you getting the customer (or contract) vs. your competitor nabbing it instead.
- Companies should take risks, embrace progress, and fiercely resist ossification
- Premature optimization is the root of all evil.
Excerpted from "Notes from the Mystery Machine Bus" by Steve Yegge