7 Virtues for Software Developers

The Perfect Programmer

Diligence - Diligent developers take ownership of their work without being possessive. Diligent programmers fix broken windows.

Humility - Humble developers take pride in their code, but don’t snub constructive criticism. Humble developers know they can always improve themselves.

Patience - Patient developers remain calm during times of stress, and don't surrender to the temptations of a quick fix. Patient developers have the endurance to carry a product across the finish line.

Liberality - Broad-minded developers base their decisions on proofs and particulars instead of preconceptions and prejudices. Broad-minded developers listen to the other side and attempt understanding.

Creativeness - Creative developers find a way around the brick wall in front of them, and do so without creating a mess. Creative developers find the elegant solution to a difficult problem.

Adaptability - Adaptable developers have the ability and willingness to learn new skills and accept new responsibilities. Adaptable developers continue to grow.

Resilience - Resilient developers bounce back from boneheaded bugs and bursting dotcom bubbles to code again another day. Resilient developers appreciate failure as the upward slope of the learning curve.

Eric Gunnerson's "Seven Deadly Sins of Programming" (and others) inspired this post.

I still have to work on 6 or 7 of these.

posted on Wednesday, August 09, 2006 10:30 PM by scott

Comments

Wednesday, August 09, 2006 9:29 PM by Jeff Atwood

# re: 7 Virtues for Software Developers

I hereby revoke your clip art license.
Wednesday, August 09, 2006 9:53 PM by scott

# re: 7 Virtues for Software Developers

No, Jeff! Please! I promise I'll do better next time! Don't do this to me!
Thursday, August 10, 2006 8:16 AM by Milan Negovan

# re: 7 Virtues for Software Developers

Adaptability is a big one, IMHO. Darwin is often misquoted as having said that the strongest survive. Incorrect: he said the most adaptable survive.

Also, in my book, "Resilience" is called "The rule of an iron ass" meaning it takes an ass made of iron to sit through a long, painful debugging saga. :)
Thursday, August 10, 2006 8:35 AM by scott

# re: 7 Virtues for Software Developers

Looking at this today, Milan, I'd probably move those two to the top of the list.
Thursday, August 10, 2006 2:13 PM by Jeremy D. Miller -- The Shade Tree Developer

# K. Scott Allen lists 7 Virtues

Nice post here: 7 Virtues for Software DevelopersAdaptability:  My tester and I finding a way to...
Thursday, August 10, 2006 9:59 PM by J$

# re: 7 Virtues for Software Developers

<a href="http://www.netropolis.org/hash/perl/virtue.html">Laziness, Impatience, and Hubris</a>
Friday, August 11, 2006 7:15 AM by Milan Negovan

# re: 7 Virtues for Software Developers

Scott, I found one more for you at Martin Fowler's blog. He calls this quality (or virtue, if you will) "Customer affinity" (http://martinfowler.com/bliki/CustomerAffinity.html)
Friday, August 11, 2006 7:35 AM by James Higgs

# re: 7 Virtues for Software Developers

Great advice Scott. You inspired me to post about some work/life balance stuff I've been thinking about for a while. http://staff.interesource.com/james/aug06/sane.htm
Friday, August 11, 2006 11:29 AM by Giddy Up! - Erik Lane's Blog

# OdeToCode Goodness

Friday, August 11, 2006 3:39 PM by Geoff Gigg

# re: 7 Virtues for Software Developers

How about curiosity? A good developer is curious about their assignment and their tools. They want to know how (and why) the user does what they do. They want to get to the bottom of things and know the REAL answer. How exactly does that feature work? Let's test it out! Besides, curiousity makes for more enjoyment. You aren't doing things just to get the job done. Getting there should be fun.
Friday, August 11, 2006 7:46 PM by scott

# re: 7 Virtues for Software Developers

Geoff: Certainly! I've worked with some people that will just let things slide through and never question them.
Monday, August 14, 2006 9:45 PM by Christopher Steen

# Link Listing - August 14, 2006


Announcing
the Windows Mobile Virtual User Group Meeting [Via: trobbins ]
Refactoring
...
Tuesday, August 15, 2006 2:52 PM by Ralph

# re: 7 Virtues for Software Developers

The virtues of robots.
Wednesday, August 16, 2006 5:51 AM by Toadkillerdog's DogHouse

# 7 Virtues for Software Developers

K. Scott Allen has a post, inspired by&amp;nbsp; Eric Gunnerson's 7 Deadly Sins of Programming, on the 7...