Folks, we need to talk about resumes. Over the last 3 years at N26, I have had to get quite involved in hiring. I virtually interviewed every single person who joined the web team, and have probably reviewed enough CVs for a life time. The point is, I have come to spot red flags quickly and can notice candidates who care and invest time into their profile.
In this article, I would like to share everything I have learnt about online applications for software development jobs. Please, keep in mind that my point of view is the one of someone who is hiring for a diverse team in a fast growing startup. I’ve never worked in Human Resources, and I have so many privileges that I haven’t had to make a resume in the last decade so, as always, your mileage may vary.
This is going to be a long one, so I broke it down into pieces so you can jump to a specific session more conveniently. The next section is a big summary of the article, and every section also contains its own little TL;DR at the end.
- Too Long; Didn’t Read
- Look after the look and feel
- The basic info
- Be cautious with links
- Mountains o’ skills
- Education and lack thereof
- It’s all about experience
- We need something more
- To cover letter or not to cover letter?
Too Long; Didn’t Read
✨ First impression is everything. Make sure your resume stands out nicely. Work on the presentation and the appearance. Beware of typos, inconsistencies and design flaws. Keep it within a page or two.
👋 Introduce yourself honestly, and provide only the relevant details about yourself. Remove superfluous information that risk cluttering your resume.
🔗 Make sure any link your provide works and helps the reviewer understands your profile. Skip anything private or irrelevant.
👩💻 Focus on your core skills and the ones you want your job to be about. Do not emphasise on skills you are not interested in to make sure it is clear what you are all about.
👩🎓 Do not overdo the section on your education. Mention your level of education, and any diploma or certifications you have, but feel free to skip superfluous information.
🏃♀️ Be straightforward with your professional experience. Mention the main few things you accomplished, and skip anything barely relevant or anecdotal. The more focused, the better.
🌱 Give something more to your tech profile. You are not your tools, and it is important to show that there is something about you outside of writing code.
📝 If you want to attach a cover letter, make sure it is tailored to the company you apply for, and is a helpful complement to your resume.
Look after the look and feel
Many companies, especially tech startups, are constantly hiring. The job ads are basically always up, and the pipeline gets screened on a weekly or even daily basis. That means there are dozens, if not hundreds of applications for some tech jobs. At the peak of hiring for our web developer position, I used to screen about 50 profiles a week. That is a lot.
That means the way your resume looks is absolutely critical. Now, I understand that not everyone has the time, the energy or the will to design their own resume. Fortunately, that is not necessary, because the internet is full of free or cheap CV templates that are ready to be filled.
What is important is that it looks clean, tidy and properly structured. The hierarchy of information needs to stand out (often helped by breathing space), and it should be inviting—which means it shouldn’t be 10 pages long, one or 2 pages at most is good. When I open the resume for the first time, I should say “Ah!” not “Oooh…”.
Be careful with typos. Similarly, be weary with consistency. If you are going to write “frontend” with an hyphen, or “React.js” (although this is no longer correct), do so all the way through. Pay attention to capitalisation: it’s “JavaScript”, not “javascript”; “Sass”, not “SASS”; “git” not “GIT”, and so on. Along the same line, pay attention to the punctuation: if you end a sentence with a fullstop, do the same for all the others sentences.
All of this may sound silly, although what you want to avoid is to have these things distracting from the actual content. Every typo, every inconsistency, every minor mistake, every design glitch is something that catches the eye when it should not. And for a reviewer as nitpicky as I am, that’s not ideal.
TL;DR
- ✅ Your resume should be clean and tidy. It is important it looks readable and elegant from the first glance.
- ❌ Typos, grammatical and typographic inconsistencies, as well as design flaws (such as broken fonts and unequal spacing) are distracting and give a bad impression.
The basic info
A resume is supposed to introduce you, so it obviously needs the very basic information about you. Something interesting is that the information that is relevant to the Human Resources department is unlikely to be the same as for me, a technical reviewer.
Things I, a tech reviewer, care about: the name you use, the pronouns you use, the country you currently live in. Things I don’t care about: your official legal name, the sex you were assigned at birth, your fully qualified current address, your age, your marital status and whether or not you own a driving license.
I think the opinions vary when it comes to whether or not a resume should include a picture. My personal opinion is that it probably should not. At best, it brings nothing, at worse it risks interfering with the content of the resume.
I have seen candidates include a few short sentences about themselves and what they are looking for. I believe this is a nice touch, as this gives immediate information in a digestible way.
TL;DR:
- ✅ Provide one or two ways of contact.
- ❌ Don’t feel like you have to attach a photo.
- ❌ Avoid information that is not strictly relevant to your application.
Be cautious with links
Let’s briefly talk about links to social networks:
- Personal website: if you have one, by all mean, please link it. However note that I will look at the code if you apply as a web/frontend developer. That is basically a window into your skills, so it does matter to me.
- LinkedIn: unless you really trimmed down your resume so that your LinkedIn contains more relevant information abour yourself, I would say this is not necessary. More often than not, the resume is a refactored PDF version of the LinkedIn profile.
- GitHub: that can be interesting if you have something on there that is relevant for your application. In other words, if there are no repositories, no contributions, that’s unnecessary. Similarly, if all the code on there is years old, that’s not helping you either.
- Twitter: I personally like it as I get to see what you are interested in, talk about and how you interact in a public forum. Having been a solid user of Twitter for about 8 years, I do go check your feed if you link it (and it’s not protected…).
- Facebook: I have never been on Facebook, so my opinion might be biased here but it doesn’t strike me as a professional network, so I would probably skip this one entirely.
- Instagram: Like Facebook, it is probably not very helpful. That being said, if you think it shows more about you maybe it’s worth linking it.
TL;DR:
- ✅ A link to a personal website is very welcome, but make sure the appearance and the code are decent.
- ✅ GitHub is helpful provided it contains code and contributions that can be checked.
- ❌ Personal networks such as Facebook, Instagram or Twitter (depending on its usage) probably should not be linked.
Mountains o’ skills
Your resume is not the package.json of your last project. It cannot be just a collection of languages, libraries and frameworks. You are more than your tools.
Focus on your top skills. And by top skills, I mean the ones you either excel in, or you want your next job to be about. Knowing you did a course of Visual Basic in college 7 years ago has little to no value for me. It certainly won’t have any for the company if you apply for building React applications or working on Rails systems.
Give it a deep thought: what is it you’re passionate about and/or you are—comparatively to the rest of your skills—talented at? It should be a few skills top, not dozens. Statistically speaking, one doesn’t get to be an expert in many topics, especially not in the course of just a few years.
Myself, I would emphasise on HTML, CSS, React, accessibility and documentation (not necessarily in that order). Sure, I have some knowledge in Jenkins, Bash and PHP but a) I don’t want my job to focus on these and b) these are not my strong suit.
Now I know charts, diagrams and gauges are trendy and colorful, but they really shouldn’t be used to represent your skills. Competency is not absolute. There is no such thing as “100% in CSS” or “5 stars in JavaScript” or “8/10 in React”. There rarely is a way to measure skills in a strict and deterministic manner. We happen to be talented in something comparatively to our other skills or to other people. Therefore, charts are not the best way to showcase this information.
I would recommend listing your core skills in the order you care about, and accompany them with an explicit level or a full on explanation. For instance, in my case:
- Accessibility (steady theoretical knowledge)
- Documentation (tech-writer and passionate)
- React (main JS framework for the last few years)
- CSS (authored a book about it)
- HTML (knowledgeable)
Reading this tells the reviewer that: these constitude my area of expertise to the level described along with it, and I want this to be the focus of my job.
I would also warn against listing skills such as operating systems, tools suites like Office, and unrelated tools like Adobe InDesign or Gimp. When applying in international companies, be sure to mention the languages you speak though, and at which level.
TL;DR:
- ✅ Focus on a your main skills, and the one you are interested in.
- ❌ Do not list all the libraries, languages, frameworks and tools you have ever user.
- ❌ Only mention software versions when they make a difference.
- ❌ Avoid mentioning side skills such as Office, operating systems and so on.
Education and lack thereof
The tech industry is, comparatively to other industries, quite self-made. A lot of people taught themselves web development, sometimes alongside one (or more) job to change career entirely. That is one of the beautiful thing about our industry (if only we were not chasing our most vulnerable members away, but that’s for another article).
This also means the need for formal education is lesser than in some other industries or part of our industries. Unless you are applying at big name tech companies or you didn’t have the chance to have much experience yet, whether you own a Computer Science degree will be of little importance. Now that is probably still worth mentioning your education level, but I would not overdo it with a comprehensive list of your entire cursus, with location and whatnot. In my experience this is not really needed in most cases.
TL;DR:
- ✅ Mention your level of education, in which city/country you graduated, and when.
- ✅ Mention any extra certification you have (e.g. ScrumMaster certification).
- ❌ Keep the information about your education at a minimum unless you have little experience yet.
It’s all about experience
If our job is not about diplomas, it is about experience. That’s sometimes difficult for entry-level developers, who have to alleviate with other things such as education and side-projects. But for the rest of us who had at least some work experience, our resume should be mostly about this.
If you have been working for a long time and happen to have a lot of experience, stay focused. List the last few positions you held, do not go all the way back to that internship you did in college. Your engineering profile from 2010 is likely to be so different and outdated that it is not relevant to that position you are applying for.
For each held position, state the name of the company, the role you occupied and its time frame. I would advise against explaining what the company does as this information should be easily available on the company’s website. I am also not a fan of mentioning the tech stack, unless very relevant. I would expect a frontend developer to master the main languages of the web; the details of the tech stack itself are not very relevant in my opinion.
Then, list a few of your responsibilities and accomplishments. There again, stay focused. Do not list that one time you had to write an Excel formula, it doesn’t matter. Write about what was the core of your job, and things you are proud of. They are the things you will bring with you in your next job, and they are the one that matter.
For my experience at N26, it might have been:
N26 — Web Tech Lead (September 2016 – present)
- Created and led development on what is now the web platform for 3M users
- Initiated engineering practices around accessibility and its testing
- Authored large parts of the (mostly tech) documentation for the web platform
- Designed the testing setup and deployment pipeline for the web platform
- Contributed to the hiring process and conducted interviews for all web engineers
- Performed onboarding, code reviews and pair-programming sessions with web engineers
Interesting point to make is that the things I mention about my job at N26 somehow match the core skills I listed above. There again, it gives the reviewer a sense of what kind of developer I am, and what I am looking for.
TL;DR:
- ✅ For each experience, mention the company, the role and the timeframe.
- ✅ List the few main accomplishments and responsibilities.
- ❌ Keep the content focused on what you find relevant for your application.
- ❌ Avoid explaining what the companies do, as this is accessible online.
- ❌ Do not go too far back if you have been working for years or decades.
We need something more
Now, this is the tricky part. You might have done everything else by the book (if there is even such a thing), but that might not have been quite enough… Maybe, it’s because it lacks a little something that makes your profile stand out.
We are more than the sum of our skills. Coding is the easy part. We are human beings, and most of our job is about working with other human beings. It’s important to show that we are able to work in a team, to care for one another, to display empathy.
There are a few things I consider positive signs: any work dedicated to make a team better (as an acting facilitator for instance), conducting workshops, onboarding engineers, writing substantial documentation, doing humanitarian work, volunteering, teaching classes, organising events… The list goes on. And while it’s not a perfect indicator, it usually says something important: there is more to your profile than a list of technologies and a couple of roles in tech companies.
TL;DR:
- ✅ Mention anything that can show interests outside of coding.
- ✅ Mention experience around improving or leading a team.
- ✅ Feel free to mention awards, honorable mentions and hobbies.
To cover letter or not to cover letter?
There seems to be mixed opinions about whether or not to join a cover letter to a resume. In my opinion, a cover letter is only helpful when done properly and personalised, otherwise it just looks sloppy and uninspired. So my recommendation would be to only join a letter if you can afford the time to make it relevant and helpful for your application. Otherwise, feel free to skip it.
Things a cover letter are not: snippets of your resume, a link to your website, a checklist of your skills. Things a cover letter should do: complement your resume, give insights on who you are, tell why you like the company and think you would fit.
Interesting letters I have read started by talking a bit about who they are. Then explain how they learnt about the company/position. Finally, mentioned why they would like to join (new challenge, working on the product, learning new tech, etc.). Kindness and humour is also nice of course.
Also, final pet-peeve of mine: please don’t start your letter with “Dear Sir or Madam”, let alone “Dear Sir”. I’m the non-binary person that will review your application. You might not want to misgender me on the 2nd word of your letter. Prefer neutral forms such as “To whom it may concern”, “Dear <company>”, or something more casual (depending on the company you apply for).
TL;DR:
- ✅ Make your cover letter personalised to the company.
- ✅ Briefly explain who you are, and why you want to work at the company.
- ❌ Do not copy the content of your resume, and vice versa.
- ❌ Do not use gendered term to begin with.
That is pretty much all I have to share on this topic. I hope this helps you land your next job. And if you have any question or comment, as always, feel free to get in touch on Twitter. ✨