David Mosher has a great post explaining his own version of the (now) classic 3 programmer virtues by Larry Wall. I totally agree with David on his points. I don’t think there are just 3 characteristics, but the 3 he describes (passion, perfection & perseverance) are relevant to any good (and I’d say great) programmers.