6

I've been looking at this question: As a student, how should programming language familiarity be described on a CV/Resume. I too am a student but I have a bit of a different take on that question.

I've been working with various languages and patterns etc for years longer than I've been taking courses is this area. I've read great source code in many languages that has taught me how software works and how it's developed. I thoroughly pick the brain of anyone that knows something I don't which is hopefully everyone. When asked what languages I know I'm tempted every time to say "all of them and none of them". I'm awful at self-promoting because arrogance irritates me and I would never want to tread there. But, truly, I feel no language is out of bounds.

How can I convey on a resume that programming languages aren't important? Especially in cases where no cover letter is requested?

  • 5
    You say you've read great source code in many languages...have you written any? – jmorc Jun 11 '13 at 14:45
  • 11
    Here's career advice you weren't expecting or asking for - your statement arrogance irritates me and your attitude in this question conflict greatly. – enderland Jun 11 '13 at 14:54
  • 10
    "I feel no language is out of bounds" - typically, employers don't care what skills are within your reach, they care what skills are already in your possession. Your resume should say what you have done. – AakashM Jun 11 '13 at 15:03
  • 2
    You stated that "learning languages is trivial" and thus I can question what bounds do you have for a language. Is it writing code in that language, making compilers for that language, understanding the trade-offs of using various languages or something else? There is a lot to be said for how someone will interpret what you state, especially on concise statements like you made initially. – JB King Jun 11 '13 at 16:37
  • 2
    I'm sorry but your very last paragraph is totally wrong. No where on your resume should you describe your own philosophy on software development. Your resume should address the need of the company, not your own. If during the interview you are asked what programming languages you prefer, then that's when you can elaborate on the fact that you enjoy all of them and that you are very flexible and eager to learn many. – cYn Jul 6 '13 at 22:53
15

When asked what languages I know I'm tempted every time to say "all of them and none of them". I'm awful at self-promoting because arrogance irritates me and I would never want to tread there. But, truly, I feel no language is out of bounds.

Many people I have heard say that or something similar are the same ones that when asked to create an application in C# decide to do it in VB or Java because "they are all the same." The requirement is to use certain languages that the company has standardized on. When the company asks that question they are interested in your familiarity and comfort in using those languages.

And while languages like C# and Java are very similar I have known people who could not make the transition easily. They wrote very sloppy C# and kept saying how much better java was because of certain libraries they knew.

How can I convey on a resume that programming languages aren't important?

You shouldn't. The business is looking for people someone to program in the languages they need. The job of a resume is to show your skills so that the business can see if your skills match their needs. No one is going to read a paragraph of you explaining how you can pick up any language with just a little effort. They want to know what you can do on day one starting off so that even if you never advance you are not going to be a total waste if you do not work out.

I specialize my resume skills to those requested in the job listing. I classify them from beginner to expert. And I make sure that I include as many of the skills on my resume as they have listed in the job description.

  • 2
    " They want to know what you can do on day one starting off " does not apply to juniors and inters. Even seniors are not expected to be productive in the first few months, and greenies require a big deal of in-house training. – Balog Pal Jun 11 '13 at 15:19
  • 1
    Thanks for the constructive answer, very helpful especially in conjunction with haylem's. I guess I was thinking of resumes as a projection of what I could offer the company. What I'm getting from most answers and comments is that resumes should be a 'snapshot' of your skills. – kladd Jun 11 '13 at 16:08
  • 2
    @BalogPal - I did not say that you were expected to be productive. But they want to know what they can expect from you. All entry level are not created equal. Some have considerable experience programming before they ever turn professional. Others only did what was needed to get through school. – IDrinkandIKnowThings Jun 11 '13 at 16:08
  • 1
    @Kladd a snapshot skills and applicable work history. – IDrinkandIKnowThings Jun 11 '13 at 16:09
  • 2
    @BalogPal any senior that is not productive in the first few months at my workplaces wouldn't be offered any more months to try to become productive.. – Carson63000 Jun 12 '13 at 8:16
6

You Can Indeed Learn Everything, but...

It's true that all languages are within your reach, once you've mastered a few. It doesn't mean you'll be readily productive with all of them, and that they'll all be as easy for you to pick up on the job.

Don't expect to pick up Haskell in a heart-beat if you've only ever used VB and C, for instance.

So, in the end, it's still helpful to the recruiters and employers to be able to create a vision of what you can and cannot do right now, and what you will be able to do within a few months once you're working with them.

Rate Yourself

I like the Dreyfus Model of Skill Acquisition, or its variants:

  • Novice,
  • Advanced Beginner,
  • Competent,
  • Proficient,
  • Expert.

A simple various is to rate from 1 to 3 with:

  • Read the Book,
  • Reviewed the Book,
  • Wrote the Book.

Many people disagree with that, as they feel bad about getting many "level 1" entries on their resumes as it seems to make them look bad. However, if you clarify the scale, it's a pretty strong statement if you managed to have 2 and even only one 3.

Of course, it's not to be taken litteraly. You could have written extensive blog entries and stuff, for instance.

I like this scale both as a user, and as a recruiter, by the way. And I hate the ones who attempt to bullshit their way through it when they show up with 2s and 3s all over and are just "normal" in the end. That doesn't help either one of us :)

5

You can write algorithms in any language you want. Making them work is another matter.

It's pretty safe to say that National Instruments LabView, T/SQL, and GWBasic are radically different from each other but still follow fundamental rules. All have arrays, bit fields, string data types, floating point, etc. However, each is fit for a particular purpose, an in that respect language matters a lot.

It's possible 'language doesn't matter' if one is discussing the difference between Java, Perl, C#, and Ruby and most of your code is making round trips to the database for queries and updates. I would like to see you sample digital data at 80,000 samples per second in either T-SQL or GWBasic, and I would like to see how much code you've written in the language without invoking external packages or libraries. And I'm a little curious how you might do that in the GWBasic 64K memory constraint.

There are three (at least) axis of optimization for languages: programmer productivity, machine efficiency, and real world interface. Using T-SQL, I can create an expression in one line that can do a very complex transform on hundreds of millions of records out of a collection of billions. I don't spend any time thinking about how the machine does it, I write my expression and hit the green arrow. Done. One thing that tends to be true of databases is that the contents is usually 'clean', therefore I don't worry about whether a date is actually a date or a floating point is really a number.

In C, programmer productivity takes a back seat to machine constraints. If I have to 'make it fit' in 32K, and that 32K is on an embedded controller that's going to be spinning inside a tire on the freeway at 85 MPH at high noon on the 4th of July, I can't really tell the customer to add more memory if it runs out. If it takes me a year to write and test 2500 lines of code, so it goes. If that code goes into a billion tires the cost of that year of development is beneath notice.

Data types, data structures, and flow of control expressions are pretty much universal in languages. Gritty details about what happens in the real world are something else entirely.

2

On my first day at an internship, I mentioned that I had some familiarity with Python. What I meant at the time was that I had written a couple small programs (100 or so lines) for class a few years back. What this meant for them was that I was now the "Python guy" and they immediately gave me a Python script they wanted me to interpret and improve.

My takeaway from this: if I'm going to claim that I can use a language on a resume or in an interview, then I had better be prepared to start reading and writing in that language as soon as I start, because that's what an employer is going to assume. "I can learn any language" isn't as useful as "I know this language that people at your workplace use." They have work that needs to be done; can you jump in and start doing it?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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