views:

551

answers:

6

I've made a couple of scripts. One is a stock screener that can search through every stock. Another creates a heatmap that tells you what's performed well and badly over the past day. They aren't really that useful, just did them to work on my programming skills. I was able to throw some SQL in my scripts too. Would you call that intermediate? Thanks? How do you guys list your programming skills on your resume? Maybe there's a better way of putting it on my resume than "intermediate" or "beginner."

+4  A: 

At most put "Python (N years experience)". HR people will just check off the box, people who actually care what that means in experience will ask for detail. True, "N years experience" is a terrible measure of anything, but so it goes.

If you are making a longer, more detailed resume, name the projects that you did. It will give your interviewer something specific to ask you about.

msw
+1: HR loves quantitative stuff. It makes their filtering job easier.
S.Lott
so what does "years experience" measure? n years coding in a language professionally? or does it include personal projects, college assignments, etc. before you've been employed professionally?
advs89
actually I just read S.Lott's (which is really who I was asking) post below (which answered my question)... "paid, billable work"
advs89
I think it makes more sense than "advanced" or "intermediate" thing, from the point of view of the "first contact" with the empoyer...
Khelben
+3  A: 

The best way, as far as I'm concerned, is to link to live source code on a repository hosting site or personal resume website (e.g. I often link to my open source projects on github.com). Then it's not really as critical to "categorize" your skill with a language, just be up front with what projects you have done with the code and link to it so that a reader could review your source code themselves.

When you're recruiting a programmer, having them provide an actual personal code sample can filter out 90% of the bad hires out there, so if you provide a code sample from the outset, you'll probably be ahead of the curve.

Tchalvak
Interesting... I've never even thought of that before
advs89
+1: Just did some more of that myself.
S.Lott
+15  A: 

I would not describe the small experience you list as qualifying for an "intermediate" skill in Python. At my current employer, where "really advanced" Python means Guido van Rossum and just "advanced" could be, say, me or Wesley Chun, "intermediate" would be somebody with at least several thousands' lines of solid code and a good grasp of all of the language's constructs and a reasonable fraction of the standard library. Other employers may have somewhat lower thresholds (e.g., I think I would call myself a "really advanced" Pythonista were I working for most any other firm, but being Guido's colleague forces a slight dose of humility in the matter;-).

Alex Martelli
Alex I've seen you do speeches online. I'm sure you could label yourself as "jedi-knight of Python" lol
...but, the force is strong with Guido!-)
Alex Martelli
Yoda, Guido is.
gnibbler
In Python, I believe the correct appellation is "Jedi knight who says neee".
Larry Lustig
Only if you bring me a shrubbery!
Alex Martelli
Is Guido on SO?
TheMachineCharmer
+1 to all of you for the Star Wars and Holy Grail refs
Polaris878
@Machine, not AFAIK.
Alex Martelli
A: 

I wouldn't grade yourself, put a 'key skills' section on your resume and if you feel that Python is a key skill then include it. This is an honest approach - and if you get an interview you can flesh out what it means to your prospective employer.

As recruitment consultants often tend to search on keywords (without context) this honest approach may get your foot in the door, and then its down to your enthusiasm and some nice example code to get you further.

Good luck.

amelvin
+7  A: 

"Would you call that intermediate?" No.

"How do you guys list your programming skills on your resume?" I actually use a Tag cloud, but that's just me.

I only include languages that I've done paid, billable work in. Which -- as far as answering this question -- might be a circular definition.

In order to advertise to a customer that I can be trusted with work for which they will be happy to pay me, I have to provide them with confidence in my skills. For new languages and platforms, I've had to show

1) I can program in general. I can be trusted to deliver. 80% of the way there.

2) I can program something like their chosen language or platform. The last 20%.

Establishing #1 is -- perhaps -- harder. Showing any solid, paid development experience is 80% of the problem.


What I look for in an interview.

  1. What hard problems have you solved? Tell me the story of the problem. Seriously. Beginning, middle and end. Include technical details without getting to individual lines of code. Who are the users, what are their stories, what did you build, how did it work? This shows how much experience you have. This is what you do.

  2. What your role is in your current assignment. Do you design? Code? Test? Write specifications for others? What do you do? Details matter without become tedious about it. This shows what kind of experience it is. This is who you are.

  3. What you know about the language and platform. Avoiding buzzwords. Explain why it's cool and why it solves the problems you've been faced with. This is particularly difficult to answer, and it shows the difference between experienced and expert. This is what you know.

Note that the divisions are -- at best -- blurry and ill-defined. "expert" and "experienced" and "skilled" and "beginner" are neighborhoods in a multi-dimensional skill space. Not points. Not even a band on a spectrum.

S.Lott
thanks for inputting your personal experience with this S.Lott =)
A: 
Will Marcouiller