DEVELOPER

LINUX BLOG SAFARI
What Makes a Good Programmer?

Print Version
E-Mail Article
Reprints

This week we'd like to direct our readers' attention to a recent post by Red Hat blogger Havoc Pennington pointing out a very excellent article by blogger Daniel Tenner titled "How to recognize a good programmer." While Pennington's post was from Tuesday, the article itself dates back to a blog post from November.


Rackspace now offers green hosting solutions at the same cost without sacrificing performance. We make is easy for our customers to choose a green configuration or customize one that works for your business needs. Make the eco-friendly choice.
Learn more.

Well, Super Tuesday has come and gone, and we're happy to note that once again LinuxInsider was right out there on the forefront of the trends and the conversation.

No sooner did we publish our cutting-edge expose of geeks and their political views -- "Why Should (or Shouldn't) Geeks Vote for Obama?" -- in fact, than Lawrence Lessig himself came out with the news that he, too, is an Obama supporter.

It is gratifying, indeed, to have such a profound impact on the world's thinking.

At a Loss for Words

Yet it is a heavy responsibility, too, which is why this week we'd like to direct our readers' attention to a recent post by Red Hat (NYSE: RHT) Latest News about Red Hat blogger Havoc Pennington pointing out a very excellent article by blogger Daniel Tenner titled "How to recognize a good programmer."

While Pennington's post was from Tuesday, the article itself dates back to a blog post from November. Given the timeless importance of the article's topic, we wouldn't even point out its publication date were it not for the shocked reaction we got from certain Slashdot founders, who went only so far as to say, "My only comment is that you should try to be more punctual :)."

We can only assume the topic's profound importance and magnitude rendered those unnamed Slashdot founders at a loss for words.

Misleading Resumes

Other bloggers, fortunately, were much more forthcoming on the topic, which is so central to the daily lives of so many of us.

Tenner writes that good programmers are not always easy to recognize, particularly for those who are not programmers themselves.

"It's not as easy as it sounds," writes Tenner, who has worked both in programming and on the business side.

"CV experience is only of limited use here, because great programmers don't always have the 'official' experience to demonstrate that they're great. In fact, a lot of that CV experience can be misleading," he adds. "Yet there are a number of subtle cues that you can get, even from the CV, to figure out whether someone's a great programmer."

You're Good If...

Among Tenner's list of positive indicators suggesting someone is a good programmer are:

  • Passionate about technology
  • Programs as a hobby
  • Will talk your ear off on a technical subject if encouraged
  • Significant (and often numerous) personal side-projects over the years
  • Learns new technologies on his/her own
  • Opinionated about which technologies are better for various usages
  • Very uncomfortable about the idea of working with a technology he doesn't believe to be "right"
  • Clearly smart, can have great conversations on a variety of topics
  • Started programming long before university/work
  • Has some hidden "icebergs," large personal projects under the CV radar
  • Knowledge of a large variety of unrelated technologies (may not be on CV)

Do these technologies describe you or someone you know? If so, you may be in the midst of greatness, according to Tenner.

Passion Is Key

"I don't consider myself a good programmer yet (but a TON of those things applied to me), and I have no experience in hiring programmers," Monochrome Mentality blogger Kevin Dean told LinuxInsider.

Passion, however, may in fact be one of the unsung heroes of the open source Latest News about open source development model's success, Dean asserted.

"As a general statement, I've often disagreed with Eric S. Raymond and Linus Torvalds about the open source development model producing 'better' code," Dean said. "A topic not really discussed by either of those guys was the number of people passionate about the code they were writing."

Free software allows people to choose the projects that interest them, Dean added. "I've always thought this factor was the single MOST important reason for 'better code,' rather than 'more people looking at it,'" he said.

Nice Guys First

Traditional experience and certifications may be less indicative of programming skill than other characteristics, agreed Slashdot blogger yagu.

"There's a lot of conventional wisdom that good programmers come with exceptional brilliance, and lots of certifications proving their mastery (read 'certifications')," yagu told LinuxInsider. "While I'd expect a good programmer to be smart, I couldn't care one lick for their paper trail, short of ground-breaking doctorates awarded on research in the industry."

One trait characteristic of good programmers is friendliness, yagu asserted.

"Contrary to the classic, mysterious and cranky genius in a dark back room, a good programmer does have social skills and should be friendly and easy to communicate with," he said. "If you can't talk with a programmer, you'll never communicate needs efficiently. This is a cornerstone of creating useful software."

Along similar lines, good programmers are generous in spending time helping others use applications and understanding technology, yagu said, and they are empathetic. "He doesn't judge or criticize a user as 'stupid,' but tries to see their problem as they experience it and then works with the user to come up with a solution," yagu explained.

Mystery and arcane jargon are not things good programmers promote or hide behind, he added.

Did We Mention Passion?

Good programmers don't have to be geniuses, yagu added, but they should be smart and they should have a creative approach. "A good sign of smart would be a programmer who has mastered several, if not many, programming languages," he said.

Indeed, good programmers are well-rounded, yagu added. "Find me a programmer who also loves to bicycle, attend theater, read a good book," he said. "A programmer with external and various interests is going to look at the universe without the distortions of a 'technology-only' lens."

Finally, passion is another key characteristic of good programmers, yagu agreed. "A good programmer loves to describe the intricacies and nuances of technology, often beyond your need to know or capacity to understand," he said.

And on that timely note -- passion, that is -- we here at LinuxInsider would like to remind our readers that Valentine's Day rapidly approaches. Don't forget the human factors!

Social Networking Toolbox:
Talkback: Join the Discussion.
Re: What Makes a Good Programmer?
kirillratkin
Posted 2008-02-11
Right. I'm not programmer but I'd say the same about engineers and scientists. ;) I guess this ...

Print Version E-Mail Article Reprints More by Katherine Noyes   RSS

Related Resources

Don't miss a story -- sign up for our FREE e-mail newsletters and view the latest headlines at a glance.
Tech News Flash [ View Sample ]
E-Commerce Minute [ View Sample ]
ECT News Network Weekly Newsletter [ View Sample ]