offers some suggestions.

offers some suggestions. .

The Top Twenty Programmers

It seems that when Tim Bray of Sun was giving Adam Bosworth (late of
BEA, now of Google) a recommendation for his new job, he proclaimed him
“one of the top 20 programmers.”

JDJ Magazine thinks it would be ever so much fun to figure out who the other 19 are and offers some suggestions.

We, of course, immediately entered a few nominations of our own. JDJ is accepting nominations for the next month of so at
They figure they will get quite a few. I'd guess deciding whom to
pick could be quite a problem. We have lots of great programmers
and lots of ways to judge greatness.

Here are some things to think about:

  • Creativity – thinks of breakthrough ideas or products.
  • User Empathy – understands who will be using the product and can
    actually put himself in their shoes and design a product that will be
    useful and usable by that user, rather than by another
    programmer. All too few pieces of software pass this test.
  • Speed – meets deadlines. (My favorite story about this is
    about a programmer guru friend of mine who listened to be telling a
    workshop that it took about two years to write a word processor.
    He called me six weeks later and invited me over to see his new word
    processor. It was pretty good. I told him that, expecting
    to see some preening for so spectacularly surpassing my numbers.
    Oh, no. He clicked to the next screen and proceeded to show me
    that his new word processor was part of an office suite, also brand
    new, that he had built to keep it company. I bought him dinner.)
  • Execution – Doesn't just get the software finished on time, but
    gets it finished in an elegant way, with very few bugs and no inelegant
    edges left hanging out — no places where I'm left wondering what to do
    next, what my choices are, or what to do when the software says I've
    made an error.
  • Plays Well With Others – Yes, writing software can be a solitary
    job. But today's commercial software is usually too big to be
    accomplished by a single programmer, however clever, quick, and
    dedicated. So great programmers have to have the ability to work
    with others, know the art of compromise, and understand that it is the
    team's goals that come first.

I can't wait to see who's on that list. In fact, I hope JDJ
publishes the whole list of nominations, in all of its glory, in
addition to the finalists.  
[amywohl News]

Leave a comment