http://qs321.pair.com?node_id=241709

Robert Read, Principal Engineer at a big recruitment company, has written a riveting essay on How to be a programmer, 47 pages of condensed experience and common sense.

The article does not mention Perl, but it explains in detail what technical and personal qualities you should have to be a good programmer.

The first topic mentioned is "Learn to debug."
This entering in the middle is both surprising and revealing, because debugging is, in fact, the art of reading code. And you can't expect to become a good writer if you can't read.
The rest of the article focuses on practical issues, from "how to optimize loops" to "how to deal with organizational chaos."

The article also explains how to build personal and team skills, covering almost anything that is related to a programmer's life.
I find particularly useful the advice on how to build your character as a professional, especially when faced with managerial decision that affect the quality of your work. In such cases, you should fight or be ready to quit. Never accept compromise passively.

I personally think that the only thing missing from the article is some focus on data analysis, which has been a matter of debate in the Monastery before, but on the whole the article makes a great meditation stimulus.

 _  _ _  _  
(_|| | |(_|><
 _|   

Replies are listed 'Best First'.
Re: Article on how to be a programmer
by pg (Canon) on Mar 10, 2003 at 20:39 UTC
    To be a good programmer, you definitely need the ambition to become a good system analyst.

    By mastering all the details of a language, some languages, a tool, some tools, you can become a skilled programmer, but if one never challenge himself, and tries to think things from a higher level, from a system view, he would never really become a good programmer.

    If it is one just take programming as a job, then you can expect how much progress he could make within the next 10, or 20 years.

    If one is not interested to know what the recent progresses are, in computer science as a whole, but just entirely focus on what he himself is doing, he would not be a good programmer.

    If one does not recognize the talent of others, does not know how to team with others, he would not be a good programmer.
Re: Article on how to be a programmer
by extremely (Priest) on Mar 10, 2003 at 17:17 UTC
    How to be a programmer: "Go that way, really fast. If something gets in your way, turn."

    --
    $you = new YOU;
    honk() if $you->love(perl)

      If something gets in your way, turn

      And buy a larger vehicle next time so you can avoid this inconvenience!

Re: Article on how to be a programmer
by Anonymous Monk on Apr 14, 2003 at 04:49 UTC
    Thanks. I tried not to mention languages, but I love Perl. At my job here we used it until a CFO thought going public would be easier on Java... I wish we had it back! At least it has a "map" function, which can be written in Java but takes just as many lines to use as a straight loop to do the same thing.

    There are a lot of things I left out, in part because I just couldn't do a good job writing them. And, I didn't want to treat anything very much that had been done better already. -- Robert L. Read

Re: Article on how to be a programmer
by thor (Priest) on Mar 11, 2003 at 04:45 UTC
    Not to rain on your parade, but this was posted on slashdot just over a month ago.

    thor

      Not to rain on your parade, but this was posted on slashdot just over a month ago.

      But... who cares? Things can be mentioned on more than one web site. It's okay when that happens. Not everyone reads Slashdot every single day.

      Both the New York Times and the Washington Post can discuss an event. The same is true for Slashdot and PerlMonks.

      Just my $0.02,

      Wally Hartshorn

      (Plug: Visit JavaJunkies, PerlMonks for Java)

        And this is why I said "not to rain on your parade". I'm not trying to put gmax down. Sheesh.

        thor

        Maybe thor was just suggesting that there is more discussion of the subject available at slashdot for the interested?