Programmer CV/Resumé: Dos & Mostly Don’ts

written by Stephen Hardisty

The importance of the CV (or “resumé” to our American friends) is variable depending on your reputation with your prospective employer. For example, it is not uncommon to have hundreds (or even thousands) of applications from new graduates for entry-level jobs at desirable companies. Even for more senior positions, if you’re applying then it’s very likely many other people are too so it’s an opportunity to make a positive initial impression. Either way, the CV is often the primary means of filtering many candidates to a handful of people to interview.

I’ve read a lot of CVs. While I’ve occasionally given feedback to people on their CV when given the opportunity, for the most part it is not possible. Here is a brain-dump of the most common things I wish I could say…

Don’t list every programming language/database/framework you’ve ever touched. This is a common issue. If you’ve just graduated and list 10 programming languages then it makes my bullshit-meter twitch. If you can’t answer basic questions on the skills you’ve listed on your CV, then don’t include them as it puts you on the back foot during an interview (or even discredits you). If I’m suspicious about skills listed, I’ll randomly pick two programming languages from the list (for example) and ask how they differ in some way. You can also remove any references to the MS Office suite — if you can program a computer, it’s assumed you can figure out a word processor or spreadsheet.

Feel free to call out different levels of ability. If you have a few different skills, you can be honest about which you are strong at and which you are a bit weaker at. While clear grading is really common for things like foreign languages, this is missing for most technical skills. There are, however, ways to help set reasonable expectations for the interviewer and show some self-awareness. One option is to mention the technologies used when describing jobs or projects, which gives some sense of relevancy and time used. Alternatively you can say something like “using daily”, “past experience”, “strong”, “weak” or whatever when listing your skills.

Achievements should be more prominent than responsibilities. It’s common to confuse responsibilities with achievements. While the attainment of additional responsibilities can be considered a career achievement, responsibilities are not a description of value creation. A CV is a great place to tell your future employer about prominent things you’ve helped ship and, even better, the business impact of those things. When describing impact it’s awesome to use numbers but avoid revealing confidential information — orders of magnitude or percentages can be safer than hard numbers. Listing achievements shows that you are results oriented and hints at your responsibilities in a meaningful way.

You don’t need to limit yourself to one side of A4. Really… But maybe limit to two or three sides of A4. You want to be reasonably brief and to-the-point but if you find yourself removing something valuable from your CV just to keep it to one side of A4 then use another page. Conversely, you don’t need to include a high level of details about irrelevant experiences. If you worked a part-time job in McDonalds 15 years ago, don’t worry about including it. If you’re an incredible horse rider, that’s lovely but I’ve heard of few jobs that involve coding whilst riding a horse.

No photos, please. Prior to moving to Germany I didn’t really notice people putting their photo on their CV. It seems that in some parts of the world (certainly Europe) it is quite common, though. How you look shouldn’t be important in your job as a programmer so don’t worry about it. The more sinister issue of including your photo is that you may be vulnerable to unconscious bias, unfairly impacting your likelihood of getting hired. The upside of a CV photo is that, very occasionally, they can be so bad they’re funny. While I enjoy that, it’s probably not what the candidate was hoping for.

Mention personal coding projects. If you write code in your spare time, mention it. Include links to projects, source code or active online profiles from GitHub or BitBucket. In an industry that changes quickly, showing that you enjoy coding and learning in your spare time is an enormous bonus. Furthermore, being able to see your coding interests can help the employer get a better picture of your technical interests, which can lead to opportunities and recruiting shortcuts that might not otherwise have presented themselves.

Be honest & accurate. You would think this is a no-brainer: don’t lie on your CV. But not all inaccuracies are the result of deception. Re-read your CV and make sure you can talk confidently about everything on there during an interview. If you get an interview and don’t meet most of the expectations your CV sets then it’s not going to go well. Some of the paragraphs above cover this but I think it’s important to have a catch-all: be honest & accurate!

… You don’t really need a CV anymore. You can use platforms like LinkedIn (or whatever the cool kids use). If you’re paranoid about your employer finding out that you’re keeping your LinkedIn profile up-to-date then change the privacy settings, such as hiding updates. This has the additional impact of making you visible to recruiters. Some people complain that messages from recruiters on LinkedIn are annoying but, honestly, that’s an ok problem. Be nice, they’re trying to give you a job. If an employer desperately wants you to give them a file rather than a link, you can print from LinkedIn as a PDF and give them that. They’ll survive.

Looking for a job as a programmer? Check out our job offers here.