DEV Community

loading...

The Three Virtues of a GREAT Programmer

Francesco Napoletano
Software Engineer, husband, programmer, videogames player, technical writer. Opinions expressed here are my own.
・1 min read

I'm for sure not a great programmer, but I find myself 100% convinced that the three virtues of great programmer from Larry Wall are the best explanation of what a great programmer is.

The Three Virtues of a GREAT Programmer, according to Larry Wall (the creator of PERL):

  • 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.
  • 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.
  • Hubris: The quality that makes you write (and maintain) programs that other people won't want to say bad things about.

Source: http://threevirtues.com/

Originally published @ https://coding.napolux.com

Discussion (3)

Collapse
ben profile image
Ben Halpern

I'm not sure I'd label that third quality as hubris if done in a healthy way. I think that's sometimes the way you end up with "greatish" programs with critical flaws that the inventors were too proud to address.

Perhaps a bit of hubris can be a positive as part of a group, but I'm not sure if teams filled with this quality are going to be doing well.

My 2 cents

Collapse
napolux profile image
Francesco Napoletano Author

Perhaps a bit of hubris can be a positive as part of a group, but I'm not sure if teams filled with this quality are going to be doing well.

I agree. But sometimes you have to be "over-proud" of what you're doing (and willing to do).

Collapse
chuckwood profile image
Charles Wood

I have a feeling that these are a bit tongue-in-cheek ;)