Pay Attention To Developer Traits

    September 14, 2006
    WebProNews Staff

Quality code is in the details, and quality details are in the coder, as a blog post about personality traits in software developers illustrates.

Software developer Rob Walling described four traits he feels will be present in the best software developers. Pessimism, problem solving, long-term planning, and attention to detail form the core of his expectations.

Walling suggested a few ways to detect these traits when chatting with a prospective programmer:

•  Ask if they’re an optimist or a pessimist
•  Ask about a time when they found the source of a problem
•  Find out if they save for retirement (you can work this in during discussions of your company’s retirement plan)
•  Make an obvious misspelling in a short code sample and ask if they see anything wrong

“We know from Facts and Fallacies of Software Engineering that the best programmers are up to 28 times better than the worst programmers, making them the best bargains in software,” Walling wrote.

Pessimism as Walling discussed should be of the short-term variety. It’s one thing to have a realistic outlook that is less than bright for a project. Over the long run that programmer should have the attitude that it can work out successfully.

He illustrated the example of code development by NASA as how problem solving should work. Instead of just fixing the mistake, it is necessary to go to the source of the mistake, and fixing the source so that error never recurs.

That sounds more like Machiavelli than Mars mission, but it is an approach to problem solving that has served the space agency well over the years.

Walling recommended taking a look at The Daily WTF for more examples of staggeringly bad coding designs and desires. The September 12th example about Mr. Moneybags and Access Perfection may have the reader in tears after reading it.

Long-term planning indicates stability. Plenty of developers may chafe at Walling’s assessment of that quality:

Being able to see the impacts of present-day decisions is paramount to building great software. The best developers I know have stable family lives, save for retirement, own their own home, and eat an apple a day (ok, maybe not that last one).

People who have spastic home-lives and live paycheck to paycheck can certainly be good developers, but what they lack in life they tend to lack in the office: the ability to be disciplined, and to develop and adhere to a long-term plan.

It is left as an exercise for the reader to consider how stability outside of work may or may not correlate to stability inside of work, but whatever you think, please tell me your thoughts on development and stability.

Attention to detail looks like the most obvious consideration. A developer who programs and makes sloppy errors is not likely to hold a position for very long. “I have never, ever, ever seen a great software developer who does not have amazing attention to detail,” said Walling.

Whether one is hiring a programmer, or trying to be a better one, Walling’s opinions may be instructive.


Add to | Digg | Yahoo! My Web | Furl

Bookmark WebProNews:

David Utter is a staff writer for WebProNews covering technology and business.