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.
- 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
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.”
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.)
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.
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.
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.
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.
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.
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.
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.
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.
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.)
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.
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!
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.)
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: