<div dir="ltr"><div>I think this is a worthy exercise, and contributors to this list have come up with some great ideas.  But I want to offer some caveats.</div><div><br></div><div>1. The order may not be the same in all environments.  Some of the features of the language are more important for some types of programs than for others.  The "coding culture" and the age of legacy code maintained can also play a factor. or example, I didn't see lambda functions on anyone's list - they might not be relevant to anyone so far, but they could be crucial in some shops.  </div>
<div><br></div><div>2. The skills may not be as "ordered" as you think.  I remember some attendees at an early Python conference asking Guido for his opinion on how to code something.  He answered that he wasn't a good person to ask, because he didn't program in Python that much - he spent most of his time developing Python internals in C.</div>
<div><br></div><div>3. I know you are rating python-specific skills, but, in this day, the more important questions often pertain to an applicants knowledge of specific libraries and frameworks.</div><div><br></div><div>And, please, use this chart as a guide for knowledgeable developer-interviewers.  I really hate it when a list like this gets into the hands of an HR person who doesn't understand the concepts behind the terms.</div>
<div><br></div><div style> -- Jeff</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Apr 17, 2013 at 3:00 PM, Bryce Verdier <span dir="ltr"><<a href="mailto:bryceverdier@gmail.com" target="_blank">bryceverdier@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>I liked Dan's list. I would also like
      to append:<br>
      <br>
      The operator module:
      <a href="http://docs.python.org/2/library/operator.html" target="_blank">http://docs.python.org/2/library/operator.html</a><br>
      CSV module can parse a file or sting by other delimiters besides
      ",".<div><div class="h5"><br>
      <br>
      <br>
      On 04/17/2013 11:45 AM, Dan Roberts wrote:<br>
    </div></div></div><div><div class="h5">
    <blockquote type="cite">
      <p>I feel like this scale compresses the entire range of what I
        would consider "effective Python developer" into 8 and 9. I
        think 8 should become 5 or 6. I'm not sure what other concepts
        to test in the range would be though.</p>
      <p>Other important competencies and factoids in no particular
        order are:</p>
      <p>* Know what PEP8 says, especially when not to use PEP8<br>
        * Being able to recite the Zen of Python while standing on your
        head<br>
        * Exception handling<br>
        * Understanding lexical closures in Python<br>
        * Able to resist the temptation of deeply nested list
        comprehensions :-)<br>
        * itertools<br>
        * Possibly functools<br>
        * Context Managers (concept and implementation)<br>
        * Knows setuptools and distribute<br>
        * Published on PyPi<br>
        * NumPy, Twisted, Django and/or other common modules used in
        real world projects are good indicators of "have shipped
        something".</p>
      <p>Dumping a bunch of thoughts might not be that useful to the
        discussion, but here it is anyways!</p>
      <p>Cheers,<br>
        Dan</p>
      <div class="gmail_quote">On Apr 17, 2013 10:30 AM, "Glen Jarvis"
        <<a href="mailto:glen@glenjarvis.com" target="_blank">glen@glenjarvis.com</a>>
        wrote:<br type="attribution">
        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <div dir="ltr">
            <div>Any time I find myself making something up, I think
              "Who else has done this?"  Does anyone else know of a
              standardized skill chart for Python. It can be useful to
              explain someone's skill set.</div>
            <div><br>
            </div>
            <div>For example, I just interviewed someone that would fall
              in about a 7 below. But, what one person judges as a 7 is
              not what someone else judges as a 7.  For what it's wroth,
              I personally am rating myself between an 8 and a 9 on this
              scale...  (yep on writing decorators; yep on concept; nope
              on really writing meta classes; yep on 'dis' library but
              nope on many of the internals).</div>
            <div><br>
            </div>
            <div>And, frankly, that's probably a tad high (for me at
              least)... So, what's a better rating scale?  Has anyone
              seen such a thing?</div>
            <div><br>
            </div>
            <div>1 - Knows how to install and write "Hello World"</div>
            <div>2 - Understands basic data structures: list, dict,
              tuple, set, etc.</div>
            <div>3</div>
            <div>4</div>
            <div>5 - Understands list comprehensions and why they're
              useful; Understands generators and how to write one</div>
            <div>6 - </div>
            <div>7 - Knows basic decorator usages; Why it's useful
              (DRY); and has at least concept of how to write one</div>
            <div>8 - Knows how to write decorators; Knows what Meta
              Classes are and how to write one</div>
            <div>9 - Knows internals of Python such as "dis" library</div>
            <div>10 - Guido; Core contributor </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div>Cheers,</div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div>Glen</div>
            -- <br>
            <p>"Pursue, keep up with, circle round and round your life
              as a dog does his master's chase. Do what you love. Know
              your own bone; gnaw at it, bury it, unearth it, and gnaw
              it still."</p>
            <p>--Henry David Thoreau</p>
          </div>
          <br>
          _______________________________________________<br>
          Baypiggies mailing list<br>
          <a href="mailto:Baypiggies@python.org" target="_blank">Baypiggies@python.org</a><br>
          To change your subscription options or unsubscribe:<br>
          <a href="http://mail.python.org/mailman/listinfo/baypiggies" target="_blank">http://mail.python.org/mailman/listinfo/baypiggies</a><br>
        </blockquote>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
Baypiggies mailing list
<a href="mailto:Baypiggies@python.org" target="_blank">Baypiggies@python.org</a>
To change your subscription options or unsubscribe:
<a href="http://mail.python.org/mailman/listinfo/baypiggies" target="_blank">http://mail.python.org/mailman/listinfo/baypiggies</a></pre>
    </blockquote>
    <br>
  </div></div></div>

<br>_______________________________________________<br>
Baypiggies mailing list<br>
<a href="mailto:Baypiggies@python.org">Baypiggies@python.org</a><br>
To change your subscription options or unsubscribe:<br>
<a href="http://mail.python.org/mailman/listinfo/baypiggies" target="_blank">http://mail.python.org/mailman/listinfo/baypiggies</a><br></blockquote></div><br></div>