[Phil Karlton]: "There are only two hard problems in computer science: cache invalidation and naming things." Stafford Beer: "The Purpose Of the System Is What It Does" [Work]. Taking a cue from [http://www.reddit.com/r/programming/comments/b8e7y/as_a_programmer_what_single_discovery_has_given/ this reddit bit], what things make programming easier, better, safer, faster, saner, etc.? * Use a serious editor. * Version control. * Big monitors and serious window managers. * Good input devices. * Paper notebooks and decent pens. Sticky notes. Tape. Whiteboards. * Github. * Close the door, unplug the phone, own good headphones, work on snow days. * Talk to other programmers, explain your problems, listen to theirs. * Read other people's code. * Work with people smarter than you. * Make broken code act broken. ** A single explosion is better than years of silent murder in the dark. A forlorn and pathetic cry for help is better than either. ** Never mind failing ''gracefully'' - fail ''explicitly''. * Never enable false economies. Cheap equipment is you at the office at 3am screaming at the walls. * Sleep plenty, eat well, go outside. * Go for walks. * Be careful about mistaking expressed desires for actual needs. * You'll lie all the time - everyone does. When you're writing code, say what you mean and mean what you say.