Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

tilly recently shared a quote with me that I think serves as a good starting point for some interesting discussion regarding differing levels of ability regarding programmers:

First-rate mathematicians want to hang around first-rate mathematicians. Second-rate mathematicians want to hang around third-rate mathematicians.

My translation:

$quote =~ s/mathematicians/programmers/g;

I should perhaps amend the first line to read "First-rate programmers and those who aspire to be first-rate programmers...".

As for myself, a quick read of the Seven Levels of Perl Mastery reveals that I am somewhere between Expert and Hacker, but with some glaring omissions in both categories. However, knowing Perl does not make me a first-rate programmer. I can know everything there is to know about Perl and still write bad code. I claim to be a second-rate programmer, but I aspire to be a first rate programmer.

Recently, our company hired two more programmers. One of them doesn't know Perl very well, but he knows programming theory very well (to be fair, his work rarely involves Perl). The other programmer knows programming theory well and I think falls in the Guru category.

Prior to their being hired, I was the top Perl dog. Everyone came to me with questions about Perl specifically and programming in general. I found myself terribly bored at work and I was stagnating in my development as a programmer.

Now, I am very clearly second choice for Perl questions and third choice for general programming questions. At first, this was a huge blow to my ego. I felt challenged by them and tried very hard to overcome my resistence to what they had to say. However, in trying to be a first-rate programmer I discovered something interesting: I was learning again and enjoying my job. I probably could not have written Sub::NamedParams and I certainly wouldn't be doing automated testing. Even now, I can look at code I wrote only a couple of months ago and point to all sorts of issues that I would probably mark "wrong" on a code review.

To my coworkers: thank you. To everyone else: swallow your pride and learn. Learning to program well means taking the time to care about your work and learn "quality" programming. I would much rather maintain a well-written, but broken program, than a working mess of spaghetti code (which I probably wrote, though my code isn't quite that bad :)


Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.

In reply to Second rate programmers and my confession by Ovid

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others contemplating the Monastery: (6)
    As of 2020-09-19 08:37 GMT
    Find Nodes?
      Voting Booth?
      If at first I donít succeed, I Ö

      Results (114 votes). Check out past polls.