Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

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":

  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or or How to display code and escape characters are good places to start.
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 meditating upon the Monastery: (1)
As of 2021-05-16 04:19 GMT
Find Nodes?
    Voting Booth?
    Perl 7 will be out ...

    Results (151 votes). Check out past polls.