This is probably one of the most insightful articles I've read on programming productivity in a long time!
http://www.paulgraham.com/head.html