There’s nothing like picking a language or operating system or database management system that a candidate listed towards the end of his resume, and having an interviewer, who’s the expert in the field (”Ah! So you did Nintendo DS assembly programming, too! Let’s discuss this in detail!”) then discover that the knowledge of this listed tech is, to say the least, limited. It makes the whole resume look like a creative writing projects, the aim of which is to specify as many buzzwords as possible.I do advise undergrads to be a little liberal in listing technical skills, and I want to take the time to explain that a more clearly.
Here's an example from my own experience. One of my undergraduate research jobs was with a research group studying human cognition, primarily via a cognitive modeling system built in LISP. I joined the group in my sophomore year and stayed on through graduation, during which time I wrote several hundred lines of LISP glue code to manipulate my models and experiments. By the time I was interviewing for jobs, I was very comfortable writing complex LISP code and tackling problems with a functional approach. However, I knew very little about the overall design of the language or some of the important big concepts like CLOS. But I still listed LISP on my resume.
I recently had cause to write some LISP code for the first time in 10 years, and I was still able to work effectively in the language. But I wouldn't even consider listing LISP on my resume these days, because it's far outside the core of my expertise.
On the other hand, my first research job in college involved writing a mix of Fortran and C code for a parallel supercomputing group. In the year or so I worked with that team, I probably wrote a few hundred lines of Fortran code, and it was ugly. In my senior year, I left Fortran off my resume - if someone had asked me to write even a line of Fortran code, I would have been helpless. In any event, I knew I didn't want to work for a company that would be excited by my experience with Fortran.
In brief, when someone fresh out of school lists a particular technical skill, my expectation is that it conveys less expertise than when someone 10 years out lists the same skill.
If you really want to be precise in listing technical skills, the best approach is to quantify your level of experience. Some people take the straightforward approach of listing the number of years they've worked with a technology. I find it more useful to communicate a self-assessment of your skill level, using phrases such as "expertise in ..." and "familiar with ..."
But if you're just coming out of your undergraduate program, list anything where you think you can speak intelligently about the technology. If an interviewer asks a question that goes beyond your expertise, admit it, and offer a quick description of how you've used that technology and what areas you're best suited to answer questions about.