Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm a CS student currently in the process of looking for summer internships, specifically because I want to develop apps for Android and/or iOS. When looking over requirements for various opportunities (any software development opportunities, not just those I singled out) it'll list "Experience with x, y, z....". My question: what exactly counts as experience with a particular language or technology? I feel fortunate in that I've had the opportunity to use several languages in my university studies, everything from VB down to MIPS assembly. Yet personally, with few exceptions, I wouldn't consider myself knowledgeable enough in most of the languages I've used to get dropped into a position and told to code x by y date. I may know the basics of the language, the syntax and what sets it apart but not enough to develop functional software without some guidance on where to start, what libraries to use etc.

To use the specific example I'm faced with now: An internship I'm interested lists experience with C and/or C++ as a requirement. I've done some work with C, I know what you can and can't do, I own and have read K&R, understand how pointers work, etc. But I haven't actually written a substantial amount of code in C, I've written a few short programs and modified a few others but I've never written anything big enough where I actually had to manage memory allocation or come up with some abstractions to produce some desired functionality. So while I feel like I have the conceptual understanding, I haven't applied it. Does conceptual understanding count as experience? I'm always eager to learn and broaden my knowledge but I also don't want to over-promise (which seems like the opposite of what you're told to do on job applications).

Thoughts? Advice?

share|improve this question
2  
Answers below are good, but I would add piece of advice - do NOT let a job ad's specific wording put you off. If you think your are capable and if you are an approximate match for the skills then apply anyway, you have very little to lose so long as you think you can pursuade the emploer to at least talk to you then you are not wasting their time either. Obviously don't apply if there is no chance at all, that wastes both your time. –  Steve Haigh Apr 16 '11 at 11:54
    
But whether I think I'm capable depends on what the requirements mean so I kind of go around in circles. I get what you're saying and probably will apply though. –  primehunter326 Apr 16 '11 at 18:45

3 Answers 3

up vote 6 down vote accepted

Personally for a a job listing I would translate "experience with X" into "have written code using X which now is running in production for a customer".

The reason for this is that the amount of work needed to convert a "hey, I got this working" to production strength code, is usually non-trivial and it is where the devil-hiding details show up. In C - for instance - you need to be able to write programs which are not vulnerable to buffer overruns. In Java you need to release your resources properly for long running programs.

Nothing wrong with having looked at a technology and played some with it, but it doesn't quite count as experience.

share|improve this answer
    
The thing is as a university student I haven't done much in the way of production level code, only for specific exercises to show my understanding of a concept. How am I supposed to start out? –  primehunter326 Apr 16 '11 at 18:50
    
Just mention that you are familiar with technologies X, Y and Z but have not used them in production. You are a student - expectations are different than for senior developers. –  user1249 Apr 16 '11 at 18:52

The word "experience" means different things in different contexts. In job postings it generally does mean real working experience for a company or organization, but don't read too far in to that.

  1. Real experience for a real organization doesn't have to be paid experience to be considered "experience".

  2. If your applying for an internship and the job is listed as an internship, there is generally a little leeway as far as what constitutes experience.

  3. You can use code examples and/or projects as a substitute for experience in a lot cases when applying for an internship.

and finally, don't worry about knowing how to jump in and know what your doing right away. My first internship a few years ago was at my university writing Perl and I had no idea what I was doing for like 2 months...then as I slowly learned and took on more projects, the job offers started flowing. If you interview well and have some examples to show and explain, then you will do fine. My two cents.

share|improve this answer

When I was a fresher, if the recruitment ad did not specify somethin as "minimum X months/years on Y technology" I would take the liberty of assuming that they are fine with a fresher who has good knowledge. A few of the emails did translate into calls but very few of them went to the interview stage. Nonetheless I felt it was worth trying.

Different tecnologies require different levels of "experience" before you can call yourself proficient in them. And again it is very relative. Someone with 2 years of experience may consider themselves experts while oters may not call themselves experts after 4 years on the same tehcnology. You will probably need less time to become an expert in SQL than you will on embedde systems. I find that sometimes people with 3-4 years of C/C++ experience miserably fail basic questions.

Be frank , but also be self confident! As a fresher, if you know your course stuff well, good enough; if you know a bit more than that, even better. But you are not expected to give a thesis on design patterns or be able to make your own compiler. If you display the right attitude towards work and an ability for problem solving you are pretty much there!

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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