Last week, I wrote a post on DEV asking for advice on my resume. I had been sending out lots of job applications, but having a hard time even getting an interview. So I figured I must be missing the mark somehow, and I wanted to see what the people of DEV thought. I got a lot of good feedback and I wanted to share it so it might help somebody else too.
Background: I’m a mechanical engineer with six years of industry experience. I’ve never had a software industry job, but I’m interested in it. I’ve been hobby programming and learning for about ten years, and doing a bit of open-source work, tech reviewing for authors, and mentoring for about three. I’ve done some programming at my day jobs—mostly because I love it and I’ve forced it—but not all day every day.
So here’s what I learned.
TLDR:
- Different industries expect different things
- Minimize the gimmicks
- Stick to what people expect
- No pictures
- Get specific about your goals
- Unrelated experience doesn’t count (very much)
- Be careful with “experienced with ‘x’”
- Space-savings > more info
- Imagine it’s a pitch for someone who has to go to the bathroom
- You can talk all you want once you get in the door
- Make sure they can tell what your “thing” is
- Show them what they want to see
- Use concrete, business-goal-oriented metrics
- Don’t undersell yourself
1. Different industries expect different things
This applies as a caveat for all of the following tips. These tips are general tips that I received and I feel like they apply in most cases. But keep your target company/industry in mind and cater to their expectations. If you’re a designer applying to a highly lauded and daring design firm, maybe you can afford to stray outside of the box a little more with your submission. If you’re applying to a gigantic behemoth in the finance, medical, or government industries, keep a tight lid on your rogue ideas and stick to doing things as professionally and “standard-ly” as possible. Like any other answer to anything, the real answer is, “It depends.”
2. Minimize the gimmicks
My initial thinking was to create a resume that would “pop” and stand out from the pack, so I came up with the idea of going with a design scheme that had bright colors (the brand colors that I came up with for my blog) and was reminiscent of raw markdown text. I put hash symbols in front of all of my headers, and showed links with square and round brackets, and used simple hyphens for my list items. I used Fira Code, my favorite ligatured monospace font for the entire resume. I thought it was super cool.
My reviewers were not as thrilled. “My eyes!” they said. And, “so hard to read!” And, “It looks like you’re trying to cover up a lack of skill with crazy colors and fonts and kitschy design aesthetics.”
Actually, to be fair, they were much kinder about it. But that was the general message. Their advice was to simplify, dial it back to a nice, tame sans serif font, and nix all of the markdown gimmicks.
(They underestimated how much I love my colors, Fira Code, and markdown however, so my headers are still monospace with leading colored octothorps. I figured a little compromise was OK, and I had one reviewer who said they loved my colors. So there.)
3. Stick to what people expect
One of the overarching themes I drew from my feedback was that it’s best not to go outside the box too much with your resume. Hiring managers are looking at hundreds of these, and if you make them hunt for things like your contact info, education, or work experience, they’re not going to think it’s “cute” or “novel.” They’re going to be annoyed and throw your resume in the garbage.
When in doubt, do things the traditional way.
Start with your name at the top. Put your contact info and any relevant links. Then, put your work and education experience in chronological order. You can have a small and tasteful (see below for more details on this) skills or “other activities” type of section after that.
Obviously, this will have some caveats depending on the industry or company you’re applying to, but, in general, you can’t go wrong by going standard. Much like tip number 1, sure, your out-of-the-box thinking may score you some points sometimes, but is that really worth the risk of alienating a large percentage of the companies you’re applying to? Make their lives easy and, usually, they’ll like you more.
4. No pictures
This one surprised me, but the reasoning totally makes sense. I had a (in my unbiased opinion) very cute photo of me and my baby girl at the top of my resume. The first thing someone (a few someones) told me is to lose the picture, because a lot of companies have a policy of auto-rejecting any resume with a picture. They don’t want to be biased based on age, gender, color, parental status, or anything else, and if you show them a picture of yourself, it puts them in a hard position. So it’s an easy win to leave the picture off. No matter how adorable you are.
5. Get specific about your goals
My original resume didn’t even have any sort of goal statement on it. My second revision, I added one, but it was too vague: “Full-time software engineering role, remote or Sacramento area.” But what kind? Who am I? What am I good at? Anything? Maybe I don’t know anything and I’m just looking for any junior/trainee role that will take me.
Better to say something like “Full-time junior back-end or SysOps engineer, remote or Sacramento area.” Show the hiring team what job you think you’d be good at. And I don’t think there’s any shame in changing this goal statement depending on the job application your submitting, either. Applying for a “Junior Ruby on Rails Developer” position? Then, why yes, my goal is certainly to get a “Junior Ruby on Rails Developer” position. What a coincidence! Obviously, it doesn’t help anybody for you to lie about what you want, but if you’re not sure what you want or if you’d be OK with a wide range of things, try to tighten it up a little.
6. Unrelated experience doesn’t count (very much)
This one was a hard one to swallow. I am, in all humility, a very good mechanical engineer. I’ve worked hard to become a certified 3D CAD design software expert, and I’ve got a ton of experience making sure things are “make-able.”
Unfortunately for me, from what people have told me, that means pretty much nothing to someone hiring for a software engineering position. Sure, maybe it illustrates that I’ve got the basic office-job skills like being able to create intelligible e-mails, work on projects with deadlines, and speak to other human beings (maybe), but, not surprisingly, they’re looking for people who have “written software for a living” and “have 9+ years of Svelte development.”
The bottom line is that I was doing three things by putting my ME experience on my dev resume:
- Making the hiring manager’s eyes glaze over.
- Making it look like I’m trying to cover for a lack of programming experience.
- Taking up space that could have been going to actual, applicable programming experience (more on that later).
So, even though it’s hard and feels like you’re not showing all of your primary skills, if it’s not relevant to the specific job you’re applying for, leave it off the resume.
7. Be careful with “experienced with ‘x’”
If you say that you’re experienced with something, you’d better be darned well ready to answer some questions about it and seem like you know what you’re doing in your interview. If you have “experience with” too many things, it may seem like you’re lying or padding your resume, and it may raise some eyebrows.
My reviewers say that, in this scenario, less is more. Pick one or two things that you are actually really good at and like doing. Leave off the things that you’ve toyed with or built one tutorial application with or would like to learn on the job but don’t really know now.
They say that hiring managers aren’t really looking for someone who has done a month of Haskell, Python, C#, Java, Erlang, Lisp, and your buddy Joe’s pet language “Ham.” They’re looking to hire someone who is a rock solid Python developer because their firm is a Python firm and that’s all they need. Few and far between are the jobs that require you to know 17 languages, so why put 17 languages on your resume. This is another, more specific example of tip number 4.
Get specific about your skills and they’ll stand out more.
8. Space-savings > More Info
It can be hard to figure out how to best market yourself with only one page (yes I said it). It’s easy to try to pack as many words describing all of the many facets of your personality as possible on this one page. Don’t do it. You’ll end up burying the lede, and the barrage from your word soup cannon will end up overwhelming the hiring manager so they miss your main skills or give up entirely. Remove anything that isn’t directly relevant. You shouldn’t have to explain yourself too much. And maybe try to give them some nice whitespace to rest their eyes in a little bit.
Keep it simple. Keep it tight. Show them what’s important.
9. Imagine it’s a pitch for someone who has to go to the bathroom
You see the CEO of your dream company coming down the sidewalk at you with a tense look on their face. “Oh my gosh, hi! Can I just talk to you real quickly for a second? I’d love to work at your company.”
“Make it quick,” they say, glancing from side to side and starting to do a little tippy-toe dance. “I really need to hit the bathroom.”
What do you tell them next? Think carefully, because if you blow it, they’ll rush off while you’re still talking and forget you before they flush.
“My name is Ryan. I want to work at your company as a Python dev. I’ve done a lot of Python programming at my work as an engineer and in my spare time. I’m working through my Master’s in Computer Science and should have it by next June. I’m a great learner, I will do a good job for you, and I won’t let you down.”
“OK, great thanks!” they shout as they take your business card and sprint towards the nearest port-a-potty. On their walk back to their office (don’t ask me why they came out to use the port-a-potty, CEO’s are weird), they’ll think to themselves, “Hm… maybe I should give that guy a shot. He seemed capable, and he didn’t waste my time when it was important.”
Keep it short, don’t waste their time, make sure they can tell your value and your goals at a glance.
10. You can talk all you want once you get in the door
This is just a corollary to the previous few points. Once you get in the door for an interview, you can explain your resume all you want and answer their questions and concerns. No I haven’t done much production JavaScript, but I love learning things and am confident I could be up and running in the first week or two. Yes, I’ve got all this mechanical engineering experience and here’s how it carries over into value for your company.
But, in order to get in the door for an interview, they have to like your resume. And in order to like your resume, it has to be direct and easy to see your value.
So leave all the wordy qualifications and explanations off of your resume. Keep it simple.
11. Make sure they can tell what your “thing” is
Make sure it is very, exceptionally, painfully clear from your resume what your bread and butter is.
I am a Python programmer with a focus on scientific programming, mentoring, and building internal tools. That is what I do. Everything else is a hobby or side-interest, but if you hire me to write you a rock-solid deploy script or Pythonify your C++ programmers’ Python code, you know darn well you’re going to get the best deploy script and the most readable, maintainable Python code you’ve ever seen. And there is no noise or cruft on my resume that would prevent you from seeing that from a glance. (Or, at least, that’s the idea.)
12. Show them what they want to see
Yes, you should whittle down the skills you showcase. Yes, you should make it clear what your “main thing” is. But don’t forget to also make sure that your “main thing” is also their “main thing” they’re looking for. If they’re trying to hire an embedded C dev, maybe don’t beat them over the head with your Rails skills. Wait until you see a job where they’re clearly looking for somebody like you (or someone you think you might be—see tip 14), and let them have it. “You need a Python dev? Oh, well, have I got some news for you! …” Et cetera.
13. Use concrete, business-goal-oriented metrics
This is a pretty common one you see in any resume advice. If you say that you built an application that organizes your company’s mumble mumble data, that’s fine. Very nice. But if you can take that and also show that what you did had a direct and measurable impact on your company’s business goals and you know what that is, it’ll put you way ahead of everyone else, because it will show that you’re thinking about how to get your company where it wants to go, and that’s more valuable to them than some mindless drone just grinding out code arbitrarily.
So, you didn’t just build a mumble mumble app. No, you built an app that helped your company track mumble mumble better and reduced spending on mumbles by 30%. You saved over 300 engineer hours per year tracking mumbles. You’re a gosh darn hero!
14. Don’t undersell yourself
This one comes from my wife. At the bottom of my Revision 3 resume, I put a skills section with some 1-5 scale ratings for how experienced I am with different languages and tools. In Python, which was my highest rank, I had a 4.
My wife took one look at it and said, “No. Bump that up. Nobody want’s to hire an OK Python programmer, and you’re not just an OK Python programmer. Make your best skill a 5 and everything else can be relative to that.”
Obviously I don’t know 100% of everything about Python, and I’m not the smartest Python programmer that ever lived, but she’s right. Resumes are not the place to be humble. It’s a document whose sole purpose is to communicate to people why you’re better than anyone else applying to a job. So own your skills. Yeah, everyone can always improve at everything, but if you’re good at something, make sure the hiring team knows it!
(Important note: do not lie on your resume. At some point you’re going to have to prove what you do or don’t know. Just don’t undersell yourself is all I’m saying.)
It’s really a science experiment
If I learned anything from this, it’s that applying for jobs is not a win-or-lose type thing. It’s a process, and you get feedback that you use to correct every time. Tweak a little, improve, and try again. Apply for another job. Heck, even try applying for the same job again with a better resume! But don’t give up. Rejections aren’t necessarily a negative reflection on you. There may have been someone better, or the hiring manager might have gotten mugged the night before they read your resume, or they didn’t like your font, or they thought you should single-space your paragraphs, or, or, or…
Keep trying. Hopefully these tips helped. They certainly helped me a lot.
Special thanks to:
Top comments (14)
Thanks, those are very interesting points!
Is a picture so much a no-no? I think there are still other companies that would reject if you don't attach a photo, simply because that's the police. CV with a photo. But I guess that varies from country to country. I'll ask around the recruiters here.
On the "Don’t undersell yourself" that's very interesting and while I partially agree with it, it reminds me of a story, a colleague told me. There was a C++ conference and people were chatting and evaluated themselves on a scale of 10. Many young programmers graded themselves as like 8-9 or even 10. Then a very experienced guy said he is somewhere around 6.
People were shocked.
Why? - they asked.
Well, you know. There is that guy over there. He was working on this compiler and part of that workgroup in the ISO committee. He thinks he is somewhere about 8, and I know less than him...
What I want to tell here is that being humble is also important. If I see that someone's self-grade is the maximum, I'll try to show that he/she still has things to learn. Whereas a 9 out of 10 shows a certain humility that I know that I know a lot, but I still have things to learn.
Probably a way out of this dilemma is not to use grades/points. I just put there some proficient and intermediate skills.
Totally agree about the picture : in my country (France) it's something very common to have a photo of you on your resume. If you don't do it, you won't necessarily be rejected but you need to be prepared to be asked why you didn't...
It's even been a huge subject of debate to put, or not, your name on your resume to avoid racial prejudice...
Being selected or rejected because of your picture or your name is obviously wrong, but is the avoidance of them a good answer ?
Yeah I think it’s a good idea to go with what is standard in the industry or area you’re applying to. I don’t know the rules out of the US. Apparently it’s also semi-common to have a picture if it’s an academic resume. But I’m just going based on what people told me
Yeah, if they want to reject you because of your skin color, ethnicity. Well, you might not put a picture or even a name, but at one point they will meet you and see you, won't they?
And if they would reject you because of those things, would you really want to work there?
Again, in some places, during the initial resume phase it’s just policy to reject any resumes with pictures to avoid even the possibility or appearance of prejudice.
Yeah, I get what you are saying and it’s definitely note in line with my personality to undersell. That way, people will be happily surprised when I do a good job 😁 but there’s a certain amount of privilege associated with that decision too. If you’ve got 10 years of software development under your belt and your name is semi-well-known in some circles, you can afford to be humble. If you’re just coming into the industry and all anybody knows about you is on your resume, you cannot afford to be humble and have people dismiss you. I’d prefer to get into a phone conversation or interview and explain my rating system rather than having my resume thrown in the trash because they don’t want to take a chance on a mechanical engineer who considers themselves just “OK”
Indeed, some others say that you should position yourself as an expert even if you are not one yet. The only problem happens when as an only-positioned expert we meet a real one. But I guess, that's not so frequent.
You're most likely to pass through an ATS (Applicant Tracking System) which parses your resume for keywords first. While they've gotten much better over the years, certain formatting can still make (some of) them choke - likely rejecting you in the process, long before your resume ever reaches human eyes. This is why it's also commonly advised not to use a header, footer, or tables; just headings, body text, and bullet points is the safest way to get through any ATS.
I disagree on 5. TBH I think it's a waste of space to have a "goal"/"objective" section. I removed mine about 8 years ago, putting in its place a "career highlights" section (similar to per-job achievement bullet points I allude to in point 3 below, but at the top with the most important ones from across my entire career - not the same ones used in the per-job highlights to maximize keywords), and my hits immediately skyrocketed.
The main things to have are:
wow the no picture one really surprise me i thought that using picture get more engagement but its otherwise thanks for the insights
in this part of the world it's basically a requirement, but in area's of the world (north america) where certain idea's manifest they want to avoid the bias
drive.google.com/file/d/1olHQPofAo...
Please this is the link to my resume what do you think please i need advice
Can you show the final product of your cv?
I posted the most recent revision to the original discussion here. 😃