Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am CS student and have just few months before I graduate. I can write programs, but use pretty many manuals in the process. It's almost 50% writing/50% reading (maybe even more reading). What I want to ask is how much do you need to know a language (technology, method etc.) to say in you CV, that you know it? Thanks in advance.

P.S. I feel uneasy to learn just one technology to perfection, because it's limiting my further possibilities.


migration rejected from Sep 19 '14 at 15:35

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by gnat, Bart van Ingen Schenau, MichaelT, GlenH7, Dan Pichelman Sep 19 '14 at 15:35

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – gnat, Bart van Ingen Schenau, MichaelT, GlenH7, Dan Pichelman
If this question can be reworded to fit the rules in the help center, please edit the question.

You put something on your CV if you are comfortable using it. Just ask yourself, if I put this on my CV and get asked about it in the interview, am I going to look stupid? – Jeff Foster Apr 4 '11 at 9:44
@JeffFoster There are cases, where I am comfortable using a technology and know how it is implement and sometimes even can write an analog, but interviewer asks questions, which requires pure knowledge of the API, for example. Is they just checking me or what? – Shark Apr 4 '11 at 9:48
Please don't post the same question on two Stack Exchange sites. The Stack Overflow version was migrated here creating a duplicate - which I've now merged into this one. – ChrisF Apr 4 '11 at 11:21
up vote 12 down vote accepted

As a new grad, you're not expected to have a ton of knowledge about any one subject.

You are expected to learn quickly. You will learn more in your first month on the job about the practical side of software development than you did in your entire degree program. Nobody's going to put you in a position you aren't equipped to handle (unless they're insane or cheap or both).

Reference manuals exist for a reason, and there's no shame in keeping a stack of them on your desk. Even after programming in C for 20 years, I still keep a copy of Harbison & Steele handy. Keep your mental bandwidth free for the problem at hand, rather than trying to memorize every last library call. After a while, you'll internalize the stuff you use every day anyway.

+1, and 'unless they're insane or cheap or both', well I know some companies which are insane and cheap yes, putting freshmen in the front line on crazy deadline projects :( – jv42 Apr 4 '11 at 19:58

Personally I would focus less on "knowing" a language and more of "understanding" a paradigm. Don't get caught up on being able to program in Java vs C#, but knowing what Object Orientation means. If you know the concept of a paradigm then learning a new language will be a matter of playing with it for a few days to weeks.

I really understand this concept. It is not hard for me to learn almost any MVC framework (at least popular ones) or imperative language, but to write code I need to often get reference such as class names, method parameters etc. It's so frustrating when employer asks to name all parameters for some function or something, that I can look up in manual in mere seconds. – Shark Apr 4 '11 at 19:28

It's almost 50% writing/50% reading

Maybe this is a big statement, but I feel strongly about it. You will never master any language fully. Your knowledge of a programming language is irrelevant to how good of a programmer you are.

What you want to focus on is answer this question. " How many problems you have faced and how have you solved them. "

Computer science is really about solving problems. Speaking purely in your context, you should feel free to put all the languages you have used. Just be prepared to answer how you have used them.

In this field is a good practice to do 50% writing code and 50% reading. Not all during your work time, but outside of work too.


It's pretty hard to tell you how much you need to know to say you "know" a language, it depends on your definition of "know" :)

I would say you should just be honest and state your experience on your CV. If you have written a project in a language then say so. If you have just looked at a magazine article about a language and are interested in it then don't claim skills but mention your interest. Don't make blanket a claim to "know" a language, that's virtually meaningless anyway.

You are a student, no employer (at least not a sensible one) will expect significant industry experience. They will want some evidence of skills, so be prepared to do a coding test and certainly talk about what you have done with a language.

As for using books, I use reference material everyday and have been working as professional developer for many years. Usually I use on line material rather than books (typically MSDN, as I use .Net), but I read books outside of work to keep up with new technologies and learn about other areas. I wouldn't worry about this. If you are familair with the basics of a language you should still be prepared to use reference material to check that you are taking the right approach to solving a problem and to check the "idiomatic" way of solving a problem.


Along with a claim of knowing anything, I think a CV should show what you've done with it. As a student you can indicate what coursework you've had and amount of self-study or projects outside of the classroom. Not sure how to demonstrate fluency with a language in your CV; this will come up during an interview.


How well should a fresh graduate know a language?

There is no good answer to that. It depends on the employer ... and the other graduates you are competing against for jobs.

Some employers of new graduates are looking for people who can start to be productive (at least with simple tasks, with supervision, etc) from day one. For those employers, you should be aiming to get your skills to a level where you can do that, and that you can convince your employer that you have that level in the interview. If you have better skills than the next guy, you have a better chance than the next guy.

On the other hand, some employers of new graduates are looking for people who are smart and hard working; i.e. people who are likely to learn fast. For that kind of employer, good marks ... and signs of a passion for IT ... are more important than specific skills. Deep knowledge of a particular language could be a green light, but if you gained that knowledge at the expense of skimping on your other subjects and got low marks, that could be a red light.

P.S. I feel uneasy to learn just one technology to perfection, because it's limiting my further possibilities.

There's no worry that you will learn any technology "to perfection" ... or even remotely close to it :-)


Expecting a lot from a fresh graduate is pure insanity. Tough interview questions from a fresher will definitely make him feel stupid and worthless, or worse, it can crush his abilities to become a great developer one day and he might lose hope at all.

So I tend to judge the following when I interview a fresher.

  1. He MUST know about the project he has worked on in his last semester. The tools he has used and what he contributed. You can ask him to show you the code if you want. This will really raise his courage [If you cannot explain your own project, you are done.]
  2. Know basic principles such as OOP concepts etc [Everybody studies C++/Java/C# in their courses in my country]
  3. The fresher is enthusiastic about programming. He loves it. [You know that when you talk to person who loves to solve problems]
  4. Has a logical mind and can solve basic programming problem. [- write a small recursive method for summing the digits in an integer? - sort an array? you know what i mean]

Not the answer you're looking for? Browse other questions tagged or ask your own question.