Writing code without thinking is a recipe for bad code

Why we should build software like we build houses (Wired).