The below sections are part of Chapter 5: Resume Structure in The Tech Resume Inside Out book.
When you are no longer freshly out of school, follow this structure to make your resume easy to review.
Victoria Farelly, who recruited for Uber, Booking.com, and ING explains how what recruiters typically look for in a resume is usually an extension of what the hiring manager asked them to screen for:
A hiring manager will often say to you, as a recruiter: ‘I want these five things, and if a person doesn’t have these five things, I’m not hiring them.’ If you’re a good recruiter, you’re there to advise them on the market and advise them that we have enough resources to take someone who only has three or four of those five things. Perhaps we have the resources to train or mentor them. Or perhaps they'll just pick it up in the first month.
When the hiring manager is more flexible on the “must-have things”, you then look at if people have worked in similar environments, or on similar problems. For example, when hiring for Uber, you might look for signs that this person worked on something at scale. Did they work in multidisciplinary teams? What technologies have they been working with? And I’d look at not just your work projects, but also your personal ones. For example, if you’ve worked extensively with .NET at work, and knowing Java or Go is a must-have for the role, I’d expect to see some of those languages somewhere else, like in the projects or technologies section.
And I’d stress how what really makes you stand out is having a tailored CV for the position. If you are applying for 20 different jobs, you should have 20 different CVs. Each one should be different and specific for that role. And while this might sound a “bad” thing to do, it’s not. It’s a necessary thing to do.
For an actionable way to tailor your resume for a position, see the Keyword Check for That Position section within the Exercises to Polish your Resume section.
“What languages and technologies is this person hands-on with?” This is one of the first questions recruiters and hiring managers have when they look at your resume. The easier it is to answer this question, looking at your resume, the better. There are a few common approaches in making this information clear— we’ll look at three different ones.
The most common approach is listing relevant technologies for the position that you are proficient in a separate section. People tend to give this section various titles: Skills, Tech, Tools, and many others. The name is less important; the contents are more so.
By moving the languages and technologies you use to a separate section, you make it easy for the recruiter and hiring manager to verify what overlaps you have with the role. You shouldn’t only list the technologies on the job advert, of course: but you shouldn’t go overboard, either. Only list areas where you do have enough knowledge to do work day-to-day. I usually advise against listing the level of expertise, unless you have extremely deep knowledge of a relevant technology. I advise against using a points system as well. Also, avoid listing trivial technologies or ones that are niche, and have nothing to do with the job. Same goes with applications that are trivial to learn. As always, use good judgment.
Even when having a separate section to call out relevant languages and technologies, do mention key technologies in your work experience when you talk about specifics. This information will reinforce that you have had hands-on experience with a specific language or a given framework.
This resume is sent for a job advert for a full stack position. The job advert listed that knowledge of at least one OO language is a must, ideally between JavaScript, Go, or Java. Experience with a popular frontend framework, ideally, React.js, is an advantage, as well as having designed APIs. While not in the job description, the engineering blog describes how this company runs most of its infrastructure off AWS.
Before:
Relevant Skills
This section is a dump of all the technologies this person has touched in the past. Some of the listed ones include ones that are implicitly assumed—if you’ve used Java, you likely know how to use an IDE like Eclipse. And some technologies have no relevance: Rational Rose is a tool rarely used outside academia, and phpMyAdmin as a skill raises the question if you can manage PHP without a GUI interface. For Trello and Word: is there anyone who doesn’t know how to use these?
The person is also using terms like “expert” and “proficient”. This is a double-edged sword, as it implies that the person is not an expert in other languages. Also, talking with recruiters, the self-evaluation of people means little: several technical recruiters mentioned that people who rated themselves as an expert in a specific language would often get rejected based on not having enough depth, after being grilled in the depths of that language.
As a rule of thumb, avoid listing your expertise level. Instead, list only languages that you feel proficient with, and list your strongest languages and technologies first.
Improvement areas visualized:
Relevant Skills
After
Languages and Technologies
The revised version is far cleaner. The formatting uses tabs, making it easier to scan. The tools and applications that anyone can pick up in a matter of hours are removed. The list is more relevant for the job description, and the languages that this person was actually hands-on with.
After talking with the person, it turned out that they have not used C++ or Perl in years, and they rated themselves as very rusty in these. Removing “old” languages makes sense both because they are not relevant. Also, languages that are no longer used can contribute to age bias - recruiters subconsciously assuming the person applying must either be old, or reluctant to pick up new languages.
Another approach is to explicitly call out languages and technologies used at each of your positions, and not have a separate section for this. This approach helps convey the recency of the technologies you used, as opposed to having a big list of technologies—some of which you might not have used in a while.
This approach helps convey the recency of knowledge in a particular technology. Hiring managers and technical recruiters will have a better understanding of how up-to-date you likely are with certain stacks. This approach can work better when applying for tech companies hiring generalist software engineers, where it can be an advantage to show that you have moved between languages and stacks in the past.
Weaving in the technologies into the descriptions is an approach that can also work well. It makes for a more natural reading experience. I would suggest to be consistent in where you mention the technologies, to make these easy to spot. Here is an example of this approach:
The downside of having a list of languages and technologies is that it does not differentiate between ones that you are hands-on with, and ones where you would need a refresher. In this case, adding technologies that you are a bit more rusty with—but differentiating these—can be an option.
Here’s an example of this, where a person is applying for a position for a company that is heavy on Ruby. They’ve done this in the past and wouldn’t mind picking it up again, but their Ruby knowledge is not on the same level as JavaScript and Java, which they both use day-to-day.
Get The Tech Resume Inside Out and carry on reading this chapter, with the sections:
Congrats to @GergelyOrosz on getting this book out there. I have read many good and not so good resumes over my career, so this advice will be useful. Also on offer for free for those looking for a job, helpful in these times 👏 https://t.co/SqnyRLwoOl
— Pat Kua (@patkua) October 9, 2020