tslateman

Hope for good stuff!

View on GitHub

Virtues of a Programmer

Programmer virtues are not sometimes counterintuitive.

Laziness Impatience Hubris

Borrowed from https://wiki.c2.com/?LazinessImpatienceHubris

Laziness

The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don’t have to answer so many questions about it. Hence, the first great virtue of a programmer. Also hence, this book. See also impatience and hubris.

Impatience

The anger you feel when the computer is being lazy. This makes you write programs that don’t just react to your needs, but actually anticipate them. Or at least pretend to. Hence, the second great virtue of a programmer. See also laziness and hubris.

Hubris

Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won’t want to say bad things about. Hence, the third great virtue of a programmer. See also laziness and impatience.

Programmers and Hobbits

Turns out the best programmers embody traits and virtues related to hobbits:

Persistence

Stubbornness to keep slogging through when the going gets rough

Smart

Can Outwit Enemies

Social

Can deal with a group of team members that may think very different than you

Literate

Be able to read and write documentation

Slightly Insane

Able to view the long term while dealing with the problem at hand (able to work with details and abstractions at the same time)

Paradox

To be a better programmer

Be Lazy in an industrious way.

Be Impatient in a very patient way.

Be Proud in a very humble way.