I'm currently updating my CV ands seeing what's out there. On my CV I say that "I have knowledge of such and such language / scripting / etc" but I wouldn't say that I "know" any of these things. So I was just wondering, when would you feel that you're at a point where you would say that "you know this language"?

Can you write a program in any of them? Technically you "know" it at that point. Then it just comes down to how good you are at it :)

But it would be misleading to say that I "know" just because I can write a program. And how do you measure "how good you are"? Can it only be measured by something solid (i.e previous work that can be viewed)? Or is there a way to get the message across verbally (in the space a CV allows of course)?

It's not misleading. You know that language because you can develop in it. The interviewer will determine if you're good enough for what they want.

Typically, knowledge is garnered through experience, so the more you work in it the better you are, but this isn't always the case. It's often why developer interviews have exams.

in the end, nobody can know everything about any language. get used to it. no matter how long you'll be working, you'll always need to choose between stuff to learn, and what not to.

So I was just wondering, when would you feel that you're at a point where you would say that "you know this language"?

When I'm competent enough to write non-trivial programs in the language. For example, if you're only a few steps from the hello world program you're technically a programmer and you technically "know" the language, but you don't know it well enough to use it professionally. Knowing a language well enough to use professionally is the point at which it can be placed on a resume; any sooner and you risk getting called on lying.

I see. So if I work with it professionally and can produce relevant programs with the language then I can say that I know it. Does that still apply if I spend half my time googling and using DaniWeb to get to get a programming problem solved? :)

I use two different descriptions "familiar" and "proficient", familiar meaning I've taken a course or done a simple project with the language before so I know a bit about it and the basic syntax so with a little practice/review I could use it, whereas proficient means I've written reasonably complex programs in it and can use it professionally.

So if I work with it professionally and can produce relevant programs with the language then I can say that I know it.

Change the "and" to "or" and I'd agree. Either you currently work with it professionally or you're capable of working with it professionally, both would be justification for placing the language on your resume. And let's be realistic, the bar for entry in using a language professionally isn't that high. ;)

Does that still apply if I spend half my time googling and using DaniWeb to get to get a programming problem solved? :)

That depends. Are you simply cutting and pasting code that you don't understand or are you searching for help with solutions that you could figure out on your own if given time to do so? I often "borrow" code snippets to solve a problem quickly, but I don't use anything that I don't understand first.

My trade is engineering. When I was an employer, I had several job applicants with quite impressive CV's but unfortunately (for them) zero experience.The only qualification worth having, IMHO, is from the U of L (University of Life) and they're not on paper, and cannot be bought. Work hard, study everything, and prove it in practice.

When I was an employer, I had several job applicants with quite impressive CV's but unfortunately (for them) zero experience.

The catch is that someone has to take the gamble on an inexperienced but promising candidate, or they'll never gain experience. Lack of experience is treated like a hot potato by many employers, but I see it as an opportunity to mold someone into exactly what the company needs.

However, I have a semi-rhetorical question about your statement. If a candidate has zero experience, how could they have an impressive CV without lying? An excessive amount of education is not impressive, it's actually prohibitive because there are negative connotations to being the "professional student" who learns a lot but doesn't do anything.

Impressive in as much as several 'booklearning' certificates. Engineering is a very down and dirty profession, the theory of how an internalcombustion engine works, and dismantling and re-assembling a nice clean college workshop engine is good practice, but cannot compare with a ten year old, poorly maintained breakdown in the street. And yes, someone has to give jobs for the newly qualified to get experience, and those are in plentiful supply (or were) at larger concerns, but in a small (2 persons) shop which works on turnover volume it's just not practical, and I'm sure the same applies to IT.

but in a small (2 persons) shop which works on turnover volume it's just not practical, and I'm sure the same applies to IT.

I understand your point, of course, but my first IT job was just me and the "department" manager. My first programming job had 3 of us after I was hired, including the company owner. Both times I was informed some years later that hiring me was a gamble that paid off in spades, so I'm cognisant of the risk vs. reward of helping people get their foot in the door and try to pay it forward.

I, too see where your'e coming from. I did actually take on one guy who started as work experience one afternoon a week, one person left, he came on board, nine months or so later he left me for Volvo, with only one days notice, made me a bit cynical I suppose.

made me a bit cynical I suppose

You'd never know it from your picture :-)

My current employer took me on with only 6 months of programming under my belt. And I mean from my first "Hello, world!" written at my kitchen table. I had/have no formal qualifications in the area and no prior work experience (I was working doing telesales in home insurance before this. Hated my life) but I've been working day and night with the occassional weekend off (forced on me by my life-saving girlfriend) from day one.
It's only me and my boss in the IT department. I'm grateful for the gamble he took on me. I'm still not sure what he was smoking that day. Since then I've learnt ten times faster working in a professional capacity than when I was reading books and doing exercises (which I still do anyway in the evenings and weekends).
My programs aren't so complex that I wouldn't understand code that I borrow. A lot of the time I'll avoid the suggested method for something that may take me a bit longer but I'll have a better understanding of.
My reason for wanting to move on now is a combination of things. Over-excitement at learning more and with more experienced and different people. Using what I've learnt outside of work in a work environment. Money (let's be honest). I'm earning the lowest a junior could. I never complained before because I was just happy to be employed doing something I love, having zero work experience in programming. But now I guess I feel I'm worth more. I certainly work hard enough to be. The last reason is pure ambition. I want more and I want to see what I can achieve. I certainly wouldn't leave with just one days notice though. I've already told one prospective employer that I would give a months notice out of professional courtesy. I'm not required to give any but I feel bad as it is for looking to move on after only a few months.

Engineering is a very down and dirty profession, the theory of how an internalcombustion engine works, and dismantling and re-assembling a nice clean college workshop engine is good practice, but cannot compare with a ten year old, poorly maintained breakdown in the street.

Kinda off-topic, but this got me thinking of a fellow student during my mech-eng undergraduate days. He had a "genius" idea to theoretically increase the air-flow to his engine by inserting a computer cooling fan inside each outlet of his intake manifold. In practice, of course, the plastic melted almost instantly and spewed all over the valves and the inside of the cylinders, he had to buy a new engine. I just thought I'd share this with a fellow engineer. At the time he told us what he had done, I thought it was the stupidest thing I had ever heard someone do, I still think so today.

someone has to give jobs for the newly qualified to get experience

I agree with both of you, there needs to be opportunity for people with no experience, but not all companies have the latitude to provide that. It can be a good payoff, or a quick jumping point.

when would you feel that you're at a point where you would say that "you know this language"?

I would second Agilemind on that. I would tend to describe my knowledge of languages as either "familiar with", "proficient at", or "expert in". You can really only be an expert in one or maybe two languages, if any at all (I think I've earned the title in C++, but that's it). Proficiency would mean that you can and have worked quite a bit with it and you're quite comfortable with working on complex tasks in that language. Familiarity would be when you have taken a course or have worked on occasion with the language. I would say that if you can confidently say that you're an expert in 1-2 languages, proficient at half-a-dozen other languages, and familiar with many others, that's quite a solid background. If you say, in a CV, that you "know" something like 5-10 languages, the employer is left to assume you are "familiar" with 5-10 languages, which is pretty weak, or that you're trying to make them believe you're much more than you are.

Also, the value of listing languages you are familiar with is often to give a certain perspective on the diversity of your interests or experiences, which is generally a good thing. For example, if someone says that they're good at Java, at C#, at C++/CLI, at VB.NET, and at J#, that's not really good because it shows just one style of programming, in one application domain, in a bunch of virtually identical languages, which means a rather narrow mindset. On the other hand, being familiar (i.e., just some knowledge) in different languages used in different domains, it means you have a broader perspective on things.

Kinda off-topic, but this got me thinking of a fellow student during my mech-eng undergraduate days. He had a "genius" idea to theoretically increase the air-flow to his engine by inserting a computer cooling fan inside each outlet of his intake manifold. In practice, of course, the plastic melted almost instantly and spewed all over the valves and the inside of the cylinders, he had to buy a new engine. I just thought I'd share this with a fellow engineer. At the time he told us what he had done, I thought it was the stupidest thing I had ever heard someone do, I still think so today.

Someday I'll start a completely off the wall thread about Life experiences, should be quite funny!