If you want to work at a hipster company with no HR process. Most reputable companies will have someone who knows the most obscure languages you've listed interview you, and you will get owned.
A better rule is to put a language on your resume when you can think of a question, and you immediately know how to approach (not solve) the problem using language X.
I disagree. When I'm interviewing, I take any line item on a candidate's resume as license to hammer them on their knowledge of that technology and its paradigms.
I am not a hammerer. Yet once when I saw PL/SQL on a candidate's resume, I did start asking some questions--not stuff like "explain PRAGMA WNDS" but "tell me a bit about how you've done xyz in PL/SQL" and promptly hit a blank look.
I think that it is reasonable to ask questions about what is on a resume.
About 6 years ago I was interviewed for a position that was (mostly) C++ coding.
I told them I had been coding in C++ for four years.
They said "So what level are you, Expert or Guru?"
I thought it was a trick question, and replied that anyone who calls themselves an "expert" after less than 7 years or "guru" after less than 12, is probably over-representing their skill level.
Unfortunately (1) they were serious, (2) what I said applied to all three of my interviewers and (3) it was an internal interview. I had to leave the company very soon afterward. My former boss insisted that I was at least as skilled (at coding) as those three (I passed the technical questions comfortably), and it was just my reluctance to self-promote that let me down.
I don't regret it at all. I would not have done well in that culture, whether I had the coding skills or not. And I avoided having to move (1000s of miles.)
Please don't do that... at some point you're going to run into someone interested in such language, which you can use only for "hello world". And he'll be happy to ask you all about it, in details.
When you're ready to set it aside and learn something else. If you're not learning the language, move on to something else. This is the difference between a poser and a real developer.
I'm not sure (yet) how this site works, and especially how comments are (up/down)voted, but I noticed that this one (parent) is displayed in grey-ish font. Does that mean it was downvoted?
If so, I disagree with whoever did this. My opinion is exactly the same: you know a language when don't have to learn it while doing some useful work in it. And yes, it's the best time to move on or else you'll become bored quickly. And yes - whoever stops learning programming (with this language, that framework or other library) at some point ceases to be a developer (in my eyes) and there is a high chance that he never really was one.
I agree. You can say you "learned" a language when you can solve problems with it (because you've already "learned" programming as a whole) and you can actually think in the language (and it's specific features) to the point that further instruction on said language is not really "learning", but more akin to continuous mastery.
On a related note, I like to read David Beazley's work and twitter stream. He is the Python guy, he wrote books about it, he does courses, he's constantly moving the boundaries of "insane" coding in what he releases.
Yet, he does write things like "Reading the what's new in Python 3.3 document is blowing my mind." There's always more to learn if you want to. As long as the language isn't dead and has any kind of community, there's always something noone else knew about...
I tend to say I am familiar with a language if I've only spent a few hours on it. Knowing a language or 'learned' a language for me is when you are good (enough) to make money freelancing using that language.
Theres always two distinct phases for me. When I learn the syntax and can basically fizz-buzz in the language and then when I start to get a handle on the available libraries, design idioms and best practices.
I usually don't say I "know" a language until I've been through both phases. Resume polishers and recruiters are understandably horrified.
You have learned a language sounds like you are done learning. The longer I spent with a language (both formal and natural ones) the more I am aware of what I don't know yet. Since I realize that, I never considered having learned a language again. If a language, even my mother tongue, does not feel like a struggle, then I am just taking a break from learning.
When I'm interviewing someone the litmus test I use is asking them about the documentation. Anyone who has only superficially used whatever language/library/toolkit it is will generally say the documentation is good (what else can they say?)
Those that are battle hardened will have looked at far more of the documentation, and found it lacking. Consequently if they can explain that it sucks and why it sucks I know that they have learned the topic at hand.
It also catches out the folks who read "programming X in 8 hours" and put X on their resume. They won't be able to say anything intelligent about the documentation.
21 comments
[ 2.3 ms ] story [ 36.1 ms ] threadA better rule is to put a language on your resume when you can think of a question, and you immediately know how to approach (not solve) the problem using language X.
What will you have achieved after you "hammer" them on that technology?
Will you genuinely be closer to assessing whether that candidate can do the job you need done?
I think that it is reasonable to ask questions about what is on a resume.
I told them I had been coding in C++ for four years.
They said "So what level are you, Expert or Guru?"
I thought it was a trick question, and replied that anyone who calls themselves an "expert" after less than 7 years or "guru" after less than 12, is probably over-representing their skill level.
Unfortunately (1) they were serious, (2) what I said applied to all three of my interviewers and (3) it was an internal interview. I had to leave the company very soon afterward. My former boss insisted that I was at least as skilled (at coding) as those three (I passed the technical questions comfortably), and it was just my reluctance to self-promote that let me down.
I don't regret it at all. I would not have done well in that culture, whether I had the coding skills or not. And I avoided having to move (1000s of miles.)
If so, I disagree with whoever did this. My opinion is exactly the same: you know a language when don't have to learn it while doing some useful work in it. And yes, it's the best time to move on or else you'll become bored quickly. And yes - whoever stops learning programming (with this language, that framework or other library) at some point ceases to be a developer (in my eyes) and there is a high chance that he never really was one.
Yet, he does write things like "Reading the what's new in Python 3.3 document is blowing my mind." There's always more to learn if you want to. As long as the language isn't dead and has any kind of community, there's always something noone else knew about...
I usually don't say I "know" a language until I've been through both phases. Resume polishers and recruiters are understandably horrified.
http://en.wikipedia.org/wiki/Dreyfus_model_of_skill_acquisit...
It describes 5 skill levels: novice, advanced beginner, competent, proficient, and expert.
Those that are battle hardened will have looked at far more of the documentation, and found it lacking. Consequently if they can explain that it sucks and why it sucks I know that they have learned the topic at hand.
It also catches out the folks who read "programming X in 8 hours" and put X on their resume. They won't be able to say anything intelligent about the documentation.