Question

I have a question that can be best answered here, given the vast experience some of you guys have!

I am going to finish my bachelor's degree in CS and let's face it, I am just comfortable with C++ and Python. C++ - I have no experience to show for and I can't quote the C++ standard like some of the guys on SO do but yet I am comfortable with the language basics and the stuff that mostly matters. With Python, I have demonstrated work experience with a good company, so I can safely put that.

I have never touched C, though I have been meaning to do it now. So I cannot write C on my resume because I have not done it ever. Sure I can finish K & R and get a sense of the language in a month, but I don't feel like writing it cause that would be being unfaithful to myself.

So the big question is, are two languages on a a resume considered OK or that is usually a bad sign? Most resumes I have seen mention lots of languages and hence my question. Under the language section of my resume, I just mention: C++ and Python and that kinda looks empty!

What are your views on this and what do you feel about such a situation?

PS: I really don't want to write every single library or API I am familiar with. Or should I?

Was it helpful?

Solution

As long as you know how to think the problems through, it does not matter how many languages you are proficient in. But since you are proficient with C++, you could invest a few months time to gain some skill in C# or Java (or Ruby, for that matter).

OTHER TIPS

It's not that bad if you're applying for a job that's exclusively C++ or Python. Some employers might take the knowledge of multiple languages as a sign that you can be trusted to learn new ones quickly, but since you're just graduating a reasonable employer will probably take that into consideration. It'd be a different story if you had 20 years of job experience but knew only 2 languages.

You might consider starting to get familiar with a new language that you're interested in and mention that your resume. It'd show that you're dedicated to broaden your language selection and to develop your skills.

Two problems with knowing only two languages:

  1. There are a number of programming models that can help improve how you think about problem design. A lack of knowledge around these other models limits your ability.

  2. Your skills aren't as portable to other languages, and you're out of practice in learning new languages.

As for what goes on your resumé, that's a different question: some employers will be very happy to find someone focused on only a few things. I don't believe this to be a good mark for a programmer, but there are many different needs and businesses.

I suggest learning at least one language a year, outside of what your employer requires. It's good for the brain, your design mojo, and for your future resumé.

It would only probably hurt you with non-technical people who don't realize that learning languages is the trivial part of programming.

I would focus your resume on your demonstrated work experience - show that you've completed projects. That is worth so much more than what classes you took. Truth be told, unless a CS graduate has actually completed a real project - and I'm not talking school work, I'm talking something they've worked on for months or years that was actually used by real people to solve real problems - they probably dont have enough experience to claim they 'know' any language. Since you have actual work experience with Python for a company, you're probably a step ahead of a lot of people already.

Also yes, definately include API's and frameworks you've worked with. Also dont forget SQL, if you've worked with databases.

The number of languages on your resume is irrelevant. Having the languages on your resume that your employer uses is what's important, and even that is negotiable.

I've passed on people who "knew the language" in favor of someone with a good foundation in Computer Science and knowledge of a programming language "close" to the one we use. Learning a language's syntax is often trivial. Learning the language idioms, and standard approaches usually take more time.

BTW I only put languages I'm current with in my resume. You won't see eiffel, scheme, C, etc. I don't put Java on there either, but that's because I dislike using the language.

I'd hire you for the sincerity. that is as valuable as a third language. Which you're going to learn soon, right ?

Too many language can raise suspicions as well. Good for potential salesman/salesgirl showing off his bullshitting skills.

API background can easily come up in the interview. Some see API knowledge as more relevant than language itself. If you know the API weaknesses, that can help a business to avoid mistakes. If you know the API strengths, that is useful as well.

One strategy is giving a short recap of the APIs on the resume, but keep the tastier part for the interview, to build a conversation.

I don't think it matters that much, especially because those are a good pair of languages:

  • both are multi-paradigms, therefore you're not stuck in OO
  • they complement each other rather well, C++ being relatively low-level (memory management) and Python allowing you to quickly hack a script together when necessary (and it is, in programming)

I've seen resumes with lots of languages, and frankly I am not impressed. Anybody can learn a language syntax (apart from C++ :p) in a week or two, but there is a difference between knowing the syntax and writing good (idiomatic) code.

By declaring only those 2, you show that you're honest and upfront. Stress the projects you've realized to show that you do know them, it's much more likely to impress your future employer.

I was lucky enough to interview with a company that "got it" way back when I was a student... Even though I had an embarrassingly long list of stuff I "knew" (being very liberal with that term), I actually got the job based on a VMS assembler program I wrote... Which I didn't put on the resume but came out in the interview.

Literally.

Like, I had it in my backpack (this was back when you used to print your programs out on industrial dot matrix printers).

So no. Companies that "get it" will probably look on that combo as a positive.

For a first position out of school, intangibles matter more than experience. Even later in life, you can get a job as a specialist in just a few technologies. (That's not to say don't learn other languages, just that it won't make you unemployable)

Be prepared to discuss algorithms, write in the languages you know on a white board, and show enthusiasm for solving problems. If you can do that, you'll find someone who can use your skills.

Remember that hiring is relative to position. Juniors are expected to be smart and eager. Seniors are expected to have more specific experience - that's why they get paid more.

Most graduates don't have much language experience, just the one or two their degree focuses on. And most I have met struggle with those few as well.

It depends on what kind of job you are trying to get, really, as well as who is doing the choosing.

Personally, were I hiring a junior coder, I'd look mostly for mindset and only expect them to know a language or two. Were I hiring a lead coder, I'd want to see a laundry list of languages, as those who haven't worked in many languages invariably have no clue about language design, and it is my personal philosophy that someone who understands at least the basics of language design is a much better big picture sort of coder.

Licensed under: CC-BY-SA with attribution
scroll top