Ten Tips for a (Slightly) Less Awful Resume
Translations of this material:
- into Russian: Десять советов как написать (чуть) менее ужасное резюме. Translation complete.
-
Submitted for translation by the_toon 31.07.2008
Published 3 years, 5 months ago.
Text
Objective: Obtain a position at IBM
-- some idiot applying to Amazon.com
WARNING: These are my own *personal* opinions, not Google's or Amazon's or anyone else's. I do think you'll find that most resume screeners at tech companies — particularly tech companies that build their own software in-house, like Yahoo! or eBay or Amazon.com or Microsoft or Google — will agree with a lot of this stuff, on the whole. But experienced screeners disagree on lots of the little details, and in the end these are just my own opinions. These tips are not guaranteed to get you any better results. Your mileage may vary. Do not use these tips in a bathtub or when standing in a pool of water. Do not tap on the glass or the tips will be irritated. Do not feed the tips. Etc.
Today's scientific question is: why are the resumes of programmers so uniformly awful? And how do we fix them? The resumes, that is.
If you've spent more than approximately seventeen kiloseconds as an industry programmer, you've had to review bad tech resumes. It's just part of the job. Programmer resumes ultimately have to be gauged by programmers — it takes one to know one. So it winds up being a kind of karmic revenge on you for bad resumes that you've written. C'mon, you know you've done it. You even knew it was bad when you were writing it. Admit it! You listed HTML under programming languages, didn't you? Argh!
So why are tech resumes so bad? You know what I mean. You see the craziest stuff on resumes. Like the candidate who proudly lists every Windows API call she's ever used. Or the candidate who lists every course he took starting from junior high school. Or the one who lists college extension courses he took while doing time for armed robbery.
Or that really dumb guy who accidentally listed "work at IBM" as the objective on his Amazon resume. Ha, ha! What a dork!
Oh wait — that was me. D'oh. I sometimes refer to it as my "million dollar typo". It's kind of a painful story, especially for my eardrums, since whenever I tell it people predictably point at me and scream with hysterical girly laughter. Dammit. Not to mention the fact that it cost me a fortune in stock-option valuation because I applied before the IPO and was quite understandably ignored by Amazon recruiters until I re-applied long after the IPO, this time saying that haha, no hard feelings, my bad, I actually wanted to work for Amazon. Ahem.
But hey, I deserve what I got (in a word: "nothing"), because I was, if I may employ the common parlance, an idjit. I think almost everyone's been guilty at one time or another of idjicy when writing a tech resume, although maybe not quite as flagrant as mine was. And if almost everyone's guilty of it, then they must be hard to write.
I think there are multiple root causes. One is that nobody teaches us what companies are looking for. And we don't write resumes very often in our careers, so we don't get much practice at it.
Another root cause is that much of the advice on resume-writing from other industries doesn't necessarily carry over to tech resumes. I'll cover some of these mismatches in my tips below.
Another minor, yet oddly persistent problem is that many candidates are raving pathological liars. You'd be amazed at how many candidates tell me: "Oh, I just put that buzzword on there for the recruiters." Needless to say, this response leads directly to the time honored end-of-interview transmission code: DYHAQFM? ("Do you have any questions for me?")
In spite of all these problems I hold out hope that it might be possible to get at least some people to write better programmer resumes by giving a few free tips. You never know. After all, I can't ask my favorite phone-screen questions anymore – candidates tell me they've read my blog. So maybe someone will pay attention to these tips, too.
I'm just talking about software engineer resumes today, and specifically just the subset intended for applying to companies that build their own software. I have no idea how much (if at all) this stuff applies to resumes for other kinds of positions, or companies. Maybe not much. Sorry!
Anyway, here are my resume-writing tips, which I'm giving directly to you, free of charge, with no strings attached, because I care about you so much.
Tip #1: Nobody cares about you
Ha, ha! Saw that one coming, I'll bet.
Well, let's be a bit more precise: nobody cares about you yet. Not during resume screening, anyway.
Resume screening is just pattern matching. People are trying to figure out if you have the skills they're looking for. If they could do this reliably without human intervention, so much the better. Screeners will like your resume best if it's easy to scan visually, and stories about you and your fun-loving personality and fiercely loyal carnivorous parakeet and year-long hiking expedition in Tibet and blah Blah BLAH just don't scan.
The output of the resume screening step is a decision: should they proceed with you or decline you? Once that go/no-go decision is made and entered into the system, the screeners want to forget all about you. Seriously. They need their cache cleared for the next pattern-matching session. So anything you say about yourself — anything that differentiates you from a machine that can crank out beautiful code — is just an annoying and potentially harmful distraction. At best, the screener will ignore it. At worst, they'll get mad at you and start grading more harshly.
So your best strategy is to avoid talking about yourself. All your hopes, fears, goals, dreams, ambitions — DELETE. (Your resume's going to get a lot shorter from these tips, in case you were wondering.) Your cover letter? DELETE. Nobody cares! Your little clever in-joke in your objective? DELETE. Especially that one. Resumes are not a time to be funny. Believe me, your resume is probably already funny enough without any additional effort on your part.
But what about your precious hobbies section, which identifies you as a well-rounded and socially adjusted person of taste and culture? DELETE! Unless you have relevant hobbies, that is. If your resume is borderline, and you say you're a World Origami Federation grandmaster, then you obviously don't have enough time for programming, so it'll likely get eighty-sixed. If your hobby is writing code, or administering a website, or doing anything remotely computer-related, then it might tip the scales in your favor. Otherwise, just don't mention it!
Face it: all the traditional advice about trying to convince the hiring manager that you're a plucky, scrappy young individual from a farm in Alabama who's destined for greatness on account of your Uncle Ted having given you that pep talk after you fell off your horse when you were a kid — that advice may as well have come from the back end of your horse, because the hiring manager just wants to profile your current skill set. Mr. Plucky goes into the Round File.
Don't get all depressed about this tip. People will start caring more about you as a person in later phases of the recruiting process, particularly if you're one of those candidates who doesn't really like showering.
Tip #2: Use Plain Text
Your resume is going to go through a bunch of automated transformation tools and will be mangled horribly along the way. Any non-ASCII character, such as those nonstandard Microsoft Word bullets, or any accented character, or (heaven help you) Unicode will be turned into our old favorite, the question-mark character ("?").
You don't want your resume to look like this:
Resum? for Bob?T???Moblin
?Experience
1997?Present? Vice?F???**??didn?t?do?sh???for?ten?yea???
So write it in plain text. Yes. Text. You know. Like from a typewriter, or Windows Notepad. ABCs, not PDF.
Don't expect any whitespace to make it through except newlines and single spaces. And don't assume your resume will be viewed in a fixed-width font. If you make a nice pretty formatted table using tab characters, it will look like ascii-art smoke signals by the time a human being looks at it.
The maximum amount of ASCII art you can get away with, and even this is stretching it, is hyphenated lines and bullets. For instance, this might be OK:
Education
---------
* B.S. Computer Science, University of Wherever, 1997
* M.S. Resume Writing, 2003
– graduated .357 magnum
But I wouldn't overdo it.
If your name has accent characters in it, your best bet is to change your name. For instance, if your name is Pièrre l'Éléphant, think about whether you'd prefer to have it seen as "Pi?rre l'?l?phant" or "Pierre l'Elephant". Sure, your accented characters might make it through, but I'd play it safe.
HTML formatting usually makes it through safely because it's plain text. However, even if your tags are left alone by the automated mangler, there's no guarantee that your resume will be viewed from a browser, and nobody wants to read through a bunch of ugly markup while they're trying to assess your skills. So you shouldn't use HTML either.
Text! All the best resumes are plain text. Use text.
Tip #3: Check, please!
Attend to your basic hygiene: spell-check, grammar-check, style-check.
For starters, they have these wonderful programs called "spell checkers", and they even know some computer jargon. For God's sake, don't submit a resume without a spell-check. This is one bit of traditional advice that's still true for tech resumes. People care about your spelling, because if you're misspelling things it means you don't care enough about the quality of your job application to spend 30 seconds running it through a program that can find your mistakes for you. That's pretty damn lazy.
If you flat-out refuse to use a spell-checker, please at least refrain from misspelling Lisp as "Lips". You'd be amazed at how often people do this.
Don't misspell "Curriculum Vitae". The proper spelling is r-e-s-u-m-e, unless you have a Ph.D. or you're applying for a non-US company where "CV" is standardized. In the US, "curriculum vitae" is likely to be mistaken for a venereal disease.
Please, please, please learn the difference between "lead" and "led". It's one of the most common grammatical errors on resumes, and it annoys the hell out of many screeners. "Lead" is either the present-tense verb meaning "not doing any coding", or it's a metallic element that makes you sterile if you accidentally ingest it. "Led" is the past tense of "lead". Example:
* 1995-1996: lead a team doing blah blah blah. we were...
The date is long past, and rest of the paragraph is in the past tense, so this is clearly one of those people who don't know "lead" from "led". That, or she was trying to sterilize her team members. Either way, it doesn't look good.
Keeping the tense consistent between sentences in a paragraph is related to the important grammatical notion of "parallelism", in which you try to use the same structure for clauses in a sentence. For instance, you should never say: "Job responsibilities: pretty much doing nothing and pick my nose." Screeners will be much more impressed if you use the parallel gerund form, picking your nose.
None of this advice applies to blogs, of course. If you find spelling or grammatical errors in my blog, it's because I put 'em there on purpose. Pshaw.
To finish off our spiffy lead/led example, I should note that you can also use "lead" as a noun, as in "tech lead", but you risk having it interpreted as "wanker", so read tip 5 before you attempt it.
So! Spell check and grammar check. Gotta have 'em. What about style?
I could of course rant at length about style, but it's pretty open-ended: people constantly find clever new ways to be unclever. So I will restrict my stylistic remarks to the use of the word "utilize". "Utilize" has been scientifically demonstrated to be used only by stupid people, so if you use it you could easily be mistaken for one. A stupid person, that is, not a scientist. "Utilize" is one of the all-time classic Stupidity Indicators, right up there with saying "choo-choo-choo" out loud when you're thinking. Ever notice how only stupid people make train noises when they're thinking? "Oh gosh, lemme think, chsh chsh chsh... hmmm, choo choo choo..."
Yup. They sound like Winnie the Pooh, who as you may recall "thinks" by pounding his head and saying "think think think." DYHAQFM!
Tip #4: Avoid Weasel Words
Weasel Words are impressive-sounding verbs that make it sound like you did something useful, when in fact all you did was snork down chocolates from the big candy bowl in the conference room while other people did all the actual work.
"Participated" is the all-time champion Weasel Word. As an example of just how weaselly it is, consider this: I can say truthfully that I participated in the Gulf War. I even received a medal for it. The actual form of my participation involved watching it on CNN; I happened to be active duty Navy at the time but wasn't on tour. But I "participated" so I got a medal, despite the fact that I probably couldn't identify the Persian Gulf on a map.
Heck, I even "participated" in the election of George W. Bush, specifically by not voting for him. But it's true! I participated!
Given that you can participate in something without doing much or having any real impact, the word "participate" becomes a semantic sink: it sucks all meaning out of a paragraph, nullifying any deductions we can make about your actual contribution. If any form of "participated" appears in a paragraph describing something you did, experienced resume screeners will simply draw a big red line through that paragraph and move on.
"Proposed" is another Weasel Word, unless it's immediately followed by a claim of bona-fide work, such as "...and implemented". There's a certain type of candidate who drifts from job to job and produces nothing but proposals. This can mean that the person doesn't like to do real work, or that nobody ever listens to the person, but either way it's not good.
One big class of Weasel Words is the "stalker" category, including "analyzed", "studied", "learned", "observed", "watched" and their ilk. Nobody wants to hire you based on your extensive experience with observing work occurring. If all you did was analyze stuff, assuming it wasn't some sort of rigorous statistical analysis worth bragging about, then just take that whole item out of your tech resume.
Resume screeners keep an eye out for non-weasel words, aka Productivity Words. These are words that you can't weasel out of when someone asks you about them. The best are synonyms of "got real stuff done", including "coded", "implemented", "developed", "delivered", and "launched".
It's perfectly OK to use "designed", as long as you follow it up with a Productivity Word. If you design something without implementing it, then it's just a synonym for "Proposed". If you prefer to design things that other people ultimately implement, then you're quite possibly outstanding material for a company full of kneebiters. But a real tech company like Amazon or eBay or Microsoft or whoever isn't going to hire you, because they can find plenty of people who can both design things and implement them.
"Tech lead" is, sadly, another weasel word if you're applying for an individual contributor position, because it's all too easy for your tech skills to rust into oblivion if you spend long enough as a tech lead without helping with the coding. It's especially a red flag for college hires who are talking about their group projects; weaker programmers often gravitate towards the coordinator position on their project, and wind up not having any real knowledge to show for their effort. Hence, if you're applying for a programming position and you were a project leader of any kind, make sure to call out whether you did any coding on the project, or screeners will assume that you did none.
Tip #5: Avoid Wank Words
Wank Words are words that inflate your perceived importance (e.g. using "architected" rather than "designed"), or words that have simply become synonyms, such as "Rational UML Process", for the so-called work done by people who sit on their asses and don't know how to code anymore.
Wank Words are worse than just devoid of content; they're active indicators of total inactivity. Resume screeners either delete Wank Words or replace them with the word "wank" (e.g., "Certified Wank Master"), which makes the resume a lot easier to scan.
"Advocate" is a common wank word, when it refers to a title or position. If it's a verb then it's just a weasel word, but if you think it's your title, then you've inflated yourself into Wanker territory. Either way, if you're walking around advocating stuff, it means you're not working. Also, it means nobody listens to you, because if you possessed actual leadership, people would just do what you recommended and then you wouldn't need advocate it anymore. So "advocate" just means "wanker".
"Consultant" is often another absolutely outstanding synonym for "wanker". Now let me just add, before I get stabbed to death by eager members of the heavily armed Consultant Industry, that some consultants are great. The problem is that the odds are completely stacked against you in tech resume screening. It's like fast-food experience when applying to be a waiter at a fancy restaurant. It might have helped you hone your waiter skills, but the odds are against it, and a lot of the art of resume screening is about weighing odds.
The problem with "consultant" is that it has two meanings. It can either mean "person who was hired on a contract basis to fill a coding need in the organization", or it can mean "person hired to 'consult', aka 'wank', because the hiring organization is too clueless to solve their own problems and too incompetent to retain even one full-time staff member capable of helping them, so they turn to paid self-help." When you see the word on a resume, it can be hard to distinguish which kind it is.
The all-time worst Wank Word is probably "Methodologist". It will definitely get your resume circulated around at tech companies, but not for the reasons you were hoping. Any sort of amusing synonym for "Methodologist", such as Scrum Master, generally has the same effect.
Wank Words are a bit like the adjectives on restaurant menus — meaningless fluff words added in an attempt to make the dish sound tasty. You can get a much clearer idea of what the hell it is that you're contemplating eating if you take all the adjectives out, including nouns and noun-strings that serve as adjectives. For instance, House Cured Spice Rubbed Apple Smoked Line Caught Columbia River Coho Salmon, when all the Wank Words are removed, becomes "Salmon", which is of course the only part of the description that you're actually eating. Depending on how you feel about what that winds up being, you can replace all the adjectives with either "icky" or "yummy", e.g. "Yummy yummy yummy yummy yummy yummy yummy yummy Salmon", or "Icky icky icky icky icky icky icky icky Eggplant."
Hence, many wank-filled resumes wind up looking, after the screeners have marked them up a bit, like this: "Senior wanker wanking for the Wank-Wank Institute of Wankology on the wank wank wank project during which I wanked successfully with seven other wanky wankers."
Well, "senior" is also kind of a wank word, but you get the idea.
Tip #6: Don't be a Certified Loser
Don't ever, ever use the word "certified" your resume. It's far and away one of the most prominent red flags in resume screening, bordering on a dead-giveaway round-file 86-that-bad-boy no-review-required situation, if you know what I mean. (If you don't know what I mean, well, you know the old saying about not knowing who the sucker is at the poker table.)
Certification is for the weak. It's something that flags you as a technician when you really want to be an engineer. If you want to be a television repairman, you can become certified in TV repair. If you want to work for Sony and design their next big-screen TV, then you clearly don't need a busy-working-adults course on how to repair the fugging things.
Same goes for tech certification. It means you had to take a course to learn something you could have read in a book. If you know something, just say you know it, and then be prepared to answer questions about it during your phone screens and/or interviews. If you feel compelled to add that you're certified in said skill, it's just broadcasting that you lack confidence in your own self-assessments, which doesn't help you in the slightest.
Seriously. Take all mentions of certifications off your tech resume. It's actively hurting your chances of getting an interview.
Tip #7: Don't say "expert" unless you really mean it
The term "expert" makes experts' eyes glow red. It doesn't bother me personally, but I know enough interviewers who care vastly about it that I'm advising you to steer clear. If you say you're an expert in something, many interviewers take it to mean you claim to have a bigger penis than they do, metaphorically speaking of course, and they're going to pull out their still highly metaphorical measuring stick during the interview and size you up. I employ this metaphor in its most gender-neutral possible interpretation, needless to say.
A friend of mine at Amazon once told me that he takes resumes that list "expertise" and he tells the candidate something along these lines: "Wow! You don't often find true experts in fields like this. I feel like I've found a kindred spirit here. I don't often do this, but I'm going to pick one of these technologies you're an expert at, and we're doing to do an incredibly deep technical dive on the subject. But before I start, is there anything you want to take off the resume?"
He says it's like truth serum. (Hi, H.B.!)
Tip #8: Don't tip your hand
Resume writing is just like dating, or applying for a bank loan, in that nobody wants you if you're desperate. And there are dozens of sure-fire little ways to let it slip out accidentally that you are, in fact, desperate, such as (just as one example) using the word "desperate" on the actual resume. Don't do that.
Ideally you want to appear confident and competent. Regardless of your overall skill level, from "Magna Cum Laude" to "Platyhelminthes", you'll want to appear confident that you can function effectively at that level.
One way of sounding really desperate is to apply for 18 jobs in one sentence. "Objective: Highly personable, results-oriented programmer seeking opportunity to lead or contribute individually on projects or programs involving e-commerce, 3D multiplayer gaming, b2b, web programming or client/server networking with database or other persistence strategies while utilizing my broad background in problem-solving to do pretty much any menial job you'll give me oh please please please hire me, I'm d-d-des-desp-waaaaaaah!" Works like a charm!
You can apply for 18 jobs, but you should send 18 different resumes, each targeted at that job, and you shouldn't send them all at once.
Another really obvious sign of desperation is saying you're eager to learn. Never, ever say "eager to learn" on a resume. In the ancient and occult secret rosetta-stone decoder language of technical resume screeners everywhere, "eager to learn" means "unskilled labor". Let's face it: if you were really eager to learn, you'd have done it by now.
"Fast learner" — definitely another bad one. Doubly so, because it combines desperation with ignorance; you wouldn't need to call it out if you could demonstrate something concrete that you've already learned. If you have some true demonstration that you're a fast learner, such as entering college at age 14, then sure, call it out. But the phrase "fast learner" is a fast track to the Big Resume Bin in the Sky.
"Motivated" is another resume-screening synonym for "desperate". Don't say you're motivated. It's like wearing a suit to the interview. It'll turn people off, guaranteed.
The best way to sound non-desperate is to be non-desperate. You can do that by lowering your expectations, tightening your belt, and not applying for that job you know you're not qualified for. Failing that, just make a nice clean resume that sticks the bare facts about your skills and accomplishments.
Tip #9: Don't bore us to death
Consider this resume statement:
* designed and developed runtime library code to emulate
MS-DOS and BIOS calls on a variety of Unix platforms. This
enables binary-ported DOS application programs such as Quicken
and Microsoft Word to run under a commercial emulator on Unix
