Resume & Interview Tips For R Programmers

Speaking as a hiring manager, it doesn’t take much to stand out as a candidate for a statistical programming job. We just finished hiring the last of several analyst positions for a new data science unit at my day job. The final round was surprisingly less competitive that I expected; many of the candidates either failed to prepare or made basic mistakes in the job search process.

In the interests of helping others, here are few resume and interview tips that could have improved their chances.

1 – Google me (and my company)

This one is basic, but I was shocked by the volume of candidates who didn’t even bother to learn about the company or the hiring manager.

This is surprisingly easy to fix and is a good first step in establishing yourself as a serious candidate.

First, the recruiter almost always tells you that you will be meeting with Person X from Company Y, who is in Industry Z. Fantastic, feed those three pieces of information into Google or LinkedIn and see what comes up. Usually, you get some great stuff like:

The Hiring Manager’s LinkedIn profile: full of great information about their past and gives hints to subjects which interest them. This gives clues about things your interviewer is interested in; for example, I mention Python and the Python user group. Telling me about your Python projects would probably get you some extra credibility (just saying….)

Company Profile: At a minimum, read their LinkedIn or Crunch base profile and take a peek at their website; read their most recent couple of press releases (these are listed in the “News” section of Google Finance).

If you’ve got the time, look for information about how companies in that industry are using data science or technology. Google <industry name> and “data science” and “case study”. You’ll usually find a couple of articles about projects other people have done. Think about how we might apply them at my company; these are great interview topics (“I read Company XYZ is using text analysis to data mine customer comments, what do you guys think about this?”) for the dreaded “do you have any questions for me” portion of our conversation.

Humility is important here – the hiring manager knows a lot more about their industry and company that you do. But a little creative thinking can transform our interview from a painful conversation about “your greatest weakness” to a more exciting conversation about what you could do if you got the job. Guess which candidate I’m going to hire….

2 – Focus Job Descriptions On Unique Lessons / Accomplishments

Give the hiring managers a little credit. Most entry level jobs are very similar across companies. Business analysts are generally asked to gather customer requirements. Project Managers hold meetings. Developers and Statistical Programmers write code and tests. In fact, many time we mentally boil this down to a candidate having X years of experience, sorted into buckets (analytics / technical / business).

Instead of doing a recital of your everyday duties on your resume, highlight the top few things you accomplished in that position. Write a short summary of what you did and what the project either accomplished or learned. Pay close attention to anything which is different or potentially interesting to a hiring manager. Which of your accomplishments would your manager brag about to their (non-technical) VP?

For example, I expect any statistical analyst has “extracted and transformed data” and “updated standard reporting”. What would catch my eye is someone describing how they analyzed a marketing program (identified best segments to promote) or figured out how to speed up DNA sequencing or moved a bunch of standard reporting to a self-service website. These type of accomplishment sets your resume apart.

Trust me, if you can tell me a cool story about how you made things better, I’ll assume you can probably handle the customer paperwork.

3 – Don’t List Technical Skills You Don’t Know (Very Well)

This particular topic has ascended to the coveted status of ‘pet peeve’. Every technical resume contains a section which lists the computer languages and packages that you would like me to believe you can use. That last point is crucial to the success of this section.

There is a misconception that having a massive list of technologies on your resume is a good thing. For most jobs and candidates, it isn’t. The reality is that my team has standardized around a couple of core technologies (R, Python, SQL) and anyone joining the group will be required to learn any of the missing technologies PLUS our environment PLUS our data. So there’s a tiny number of perfect unicorns roaming around out there who can know everything on Day One and a much larger number of decent candidates who know most of the package and demonstrate the ability to easily bridge any gaps. Most sane hiring managers are aware of this (and are fine with it).

I get a warm fuzzy feeling you can bridge the gaps when we talk about technologies that you’ve mastered, where you can list significant projects that involved that technology and discuss the details of the project. I don’t care if they were work projects or personal projects. In fact, since the professional projects I’m involved in (marketing and pricing data science) are covered by big confidentiality agreements, I often use examples from my side project (a word game site) for technical discussions. Nobody cares if I share how to build a scrabble cheat. And many managers will give credit for expertise in a similar space. If you can master SAS, you can probably figure out R fairly quickly.

I do not, however, get that same warm fuzzy feeling when you indicate that the only exposure you had to a programming language that you list on your resume is an online course and you’ve never actually used it for a serious project. Especially if you can’t answer basic questions about the core concepts of the language. And please, if you don’t have significant recent practical experience in a technology, don’t dress it up with verbiage indicating you’re “proficient”. The interview is pretty much over once I discover a gap between your resume and reality.

There’s also a question of focus. The more stuff you list, the harder it is for your audience to understand what you’re actually good at. If you boil it down to a couple of highly relevant “preferred technologies”, a hiring manager will know exactly what you’re bringing to the table. You’re also communicating you’re serious about mastering that particular technology. Scrap the fluff skills and talk about your projects.

In summation, don’t put any technical skill on your resume without being prepared to demonstrate significant commitment to applying it.

4 – Don’t Oversell Your Online Classes

Sadly, that online class isn’t really a compelling signal you have technical skills.

First, taking an online course in data science or coding isn’t unique anymore. Most of my entry-level candidate pool claimed some form of online education or independent learning. Furthermore, they rarely provide an employer with an objective measure of technical aptitude. They do demonstrate that you’re interested in the craft, although I already expect that since you applied for the position.

Now – if you took that knowledge and applied it to create a useful project, that quickly flips the script. This can be anything – a website, a useful module or open-source contribution, a tutorial, or an interesting piece of data analysis posted on your blog. Our conversation will shift from a generic discussion of “the latest online course” to a more unique discussion of what you were able to accomplish with the tool. Plus you earn points for being a self-taught developer.

Relax and Have Fun

One common trait for all of our successful candidates was they were able to show our team they were genuinely interested in the mission we were asking them to perform. They spoke enthusiastically about what they could accomplish if we gave them an opportunity. This combination of technical expertise and interest in the role was what got them hired.

Hopefully you’re reading this article because you like the craft of R Programming and data science. So think about your next interview in that sense; not as some weird HR ritual to be endured, but an opportunity speak with the manager about how you can practice our craft. Bring your enthusiasm for R to the meeting and brainstorm with the manager about how you can use it to help them.

That will get you hired!

8 Comments

Nice, these interviews always stress me. I have a partial answer to “for the dreaded “do you have any questions for me” portion” to wit
“Can you tell me how you see this position in a few months when I’ve got it up to speed? How would you see this position ready for upgrade?”
That type of reply turns the tables and lets you (interviewee) know when to ask for a raise.

Good followup question but I’d be soft on the “upgrade” part; maybe soften it to “what would success in this role look like and how long do you expect this to take?” Smart managers know you will need to be advanced if they want to retain you.

Nice article. I also love the “do you have a question for us” part of the interview… what better way to show people they can’t afford to NOT hire me? 🙂

John, I’m working on a prototype “interactive resume” which aims to never overwhelm but allow for deep drill-down if the reader is interested. Was wondering whether I could pick your brain a bit about what would be interesting for you to see. Interested? If so, hit me up by email.

Relative to #3 I understand what you mean although any significant exposure to a tool, language, or technical process that might be useful in the job for which I am applying could in fact help distinguish me from other candidates. As an example, I have a deep UNIX system administration background which makes me more able to do thinks like troubleshoot slow running programs, provision storage, intelligently distribute jobs on a cluster, and the list goes on. However, it has been several years since I’ve “activated” those skills so if someone grilled me in an interview on the details of say the Linux volume manager or what switch to use in Sun Grid engine to request a minimum amount of RAM for my parallel jobs I might not have a ready answer. So yes I want to let a potential employer know I can bring more to the table than mere programming skills especially in this day and age wherein cloud computing technologies and things like Spark are being used. My background in UNIX and the Cloud should in fact be factored in by an employer even if I don’t have all the details present in my mind when asked. Now if I’m lying about my skills then that’s another story altogether. Or if I wrote maybe a few scripts in Python then I have no business representing myself as a “Python Programmer” although given my experience with a variety of programming languages I would argue that coming up to speed would not be a problem. Too many hiring managers work off of a checklist.